我发现一个问题,就是结账结的的太早了,帖子就沉了……如果测试的时候再出现BUG,还得重新开个帖子问……
    CSDN这提问的分好贵呀……好了,言归正传。
1.  system和shell_exec,exec都是php执行系统外部命令,但是同样的命令,ps aux|grep httpd -c
  我在命令行中显示的数量时10个,为什么我在浏览器上显示的就是11个呢?
  而我自己数了一下,其实只有9个,还有一个是
  root 27719 0.0 0.0 5476 ... ... s+ 0.00 grep httpd.
这个是什么意思呢?
  是不是grep了一次,也算在ps出来的10个里面。那浏览器中的11个又是怎么来的呢?(shell_exec('ps aux|grep httpd -c')在浏览器上显示的结果与linux下#ps axu |grep httpd -c的结果不一致。)
2.如何在命令行中直接执行php文件?
   比如我想执行test.php.不用打开浏览器,直接在命令行中输入 #php test.php就可以输出结果。
   查了一下,资料,#cp /usr/local/php/bin/php  /usr/sbin 把php安装成linux系统命令。但是我这样,还是要输入php文件的路径啊。
   #php /usr/local/apache2/htdocs/test.php   这样执行是可以的。
   我想问一下,能不能在哪设置一下,php执行文件的默认路径呢?比如说,我把默认路径设为/usr/local/apache2/htdocs
这样我执行的时候,就不用输入那么长得路径啦。直接#php test.php就完事了……

解决方案 »

  1.   

    结账? 额~~
    1.你浏览器访问不得打开一个httpd进程么  这就不多了一个
    2.执行命令不加路径默认为当前目录  你cd到/usr/local/apache2/htdocs 再php test.php不就行了么
      

  2.   

    俗话说一手给钱一手给货,结帖就意味着你接受了这样的答案。
    其实也没啥吧,反正只要你勤快点来CSDN回回帖啥的,可用分都是浮云...
    实在没有的话我给你捐赠点.
      

  3.   

    要在doc 下直接执行你的php文件需要设置系统路径变量直接在doc中执行 path 命令看有没有php安装路径
      

  4.   

    嗯,话说,我以前也经常来逛CSDN的。不过技术不到家,大部分都是学习为主,回答的问题那都是灌水啊……
      

  5.   

    1. 你的apache是worker模式的吧? 所以你访问的时候,就多了一个httpd进程,退出后进程也关闭了。 grep命令本身会被grep出来,所以要再加上 grep -v grep2. 在php前加上ban头, 比如 #!/usr/local/php/bin/php   就和shell脚本一样
    然后就直接./test.php就可以了
      

  6.   

    哥,这个doc不是word文档么??你是想说dos吧?额,不好意思,我的是在linux下的。
    问题已解决……1楼正解。