在linux下面的终端,进入/app/bin这个目录里面。运行这个命令./udpclient 0 0 0就会执行相关的操作。(三个0处是可以选择的参数,另外可执行文件udpclient这个文件放在bin的目录里面。现在我需要在网页上调用这个命令。好像system()可以执行外部命令,但是我不知道具体怎么给参数。
下面是我弄的一个错误代码,大家帮我参考参考。
$cmd = sprintf("/app/bin/udpclient %s 4 0" ,$_SESSION['uid']);
    system($cmd);

解决方案 »

  1.   

    $cmd = "/app/bin/udpclient ".$_SESSION['uid']." 4 0";
    system($cmd);
      

  2.   

    话说你这个文件,php or webserver 有权限访问吗?
      

  3.   


    肯定是有权限的。我修改了,都是用root登录的.
    PHP权限,不太懂,不过我修改其他的配置文件,全部没有问题。应该是调用的语句出问题了.各位高手些,都来帮忙看看呢,看你们遇到过这类问题没有,帮个忙来垫个招..
      

  4.   

    php肯定不是root权限。不然就要危险了。
      

  5.   

    你先看看php。ini配置文件是不是可以执行系统命令,好像默认是不允许执行的。如果php。ini配置文件没有问题,那你就看看web服务器用户是否有权利执行那个命令。
      

  6.   

    我可以调用这个system(ls /app/bin)
    这个成功读取了app/bin下面的文件.这个说明我可以调用系统命令web服务器用户是否有权利执行那个命令?
    什么意思,我不懂.
    大哥你说说看.
      

  7.   

    web服务器如果是你自己的,当然可以有权利。但是同时也给安全性带来隐患,可以改用shell_exec!
      

  8.   

    这个安全问题也确实大问题,后面再弄了,现在的问题的外部命令根本就执行不成功的。
    我看了我的php.ini。
    safe_mode = off 
    我linux登录的用户也是root
    在终端下面执行/app/bin/udpclient 0 0 0 也是成功,
    就是在网页中不能执行。
    这是个啥子情哦。
      

  9.   

    现在是我在windows下面用system调用QQ程序都不行.
    <?php
    system("C:\Program Files\Tencent\QQ\Bin\QQ.exe",$return);
    echo $return;
    ?>
      

  10.   

    唉。问题依然存在,冒个泡,莫让帖子沉了.
    在次重复一次问题所在:
    最近用php做了个网页,需要调用外部命令.
    我用的是ubuntu系统,apache和php以及mysql是通过里面自带的新立得软件包来安装的。
    不考虑安全问题,我通过system来调用外部命令,除了能简单的调用系统自带的一些命令(ls)外。
    其他的(自定义的外部命令,以及开启ubuntu里面一些程序。比如说QQ)一概不行.在php.ini中
    safe_mode = off在ubuntu中我是以root登录。
    并且怪事多的很。我在windows xp下,通过php调用system任然是失败。百度,google很久,问题都没解决,现在都不晓得在那个地方错了。
    望高手来指点一哈,看看那个地方可能存在问题.求高手指点....