Home  >  Article  >  Backend Development  >  结账太早了,出现的有关问题…

结账太早了,出现的有关问题…

WBOY
WBOYOriginal
2016-06-13 10:14:31916browse

结账太早了,出现的问题……
我发现一个问题,就是结账结的的太早了,帖子就沉了……如果测试的时候再出现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.你浏览器访问不得打开一个httpd进程么 这就不多了一个
2.执行命令不加路径默认为当前目录 你cd到/usr/local/apache2/htdocs 再php test.php不就行了么
------解决方案--------------------
俗话说一手给钱一手给货,结帖就意味着你接受了这样的答案。
其实也没啥吧,反正只要你勤快点来CSDN回回帖啥的,可用分都是浮云...
实在没有的话我给你捐赠点.
------解决方案--------------------
要在doc 下直接执行你的php文件需要设置系统路径变量

直接在doc中执行 path 命令看有没有php安装路径
------解决方案--------------------
1. 你的apache是worker模式的吧? 所以你访问的时候,就多了一个httpd进程,退出后进程也关闭了。 grep命令本身会被grep出来,所以要再加上 grep -v grep

2. 在php前加上ban头, 比如 #!/usr/local/php/bin/php 就和shell脚本一样
然后就直接./test.php就可以了

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn