PHP在Linux下执行exec
程序员文章站
2024-02-08 17:08:10
...
PHP的版本为5.4
PHP代码如下:
PHP代码如下:
root用户在服务器终端使用php test.php
输出结果如下,是正确的[root@localhost htdocs]# php test.phparray(1) { [0]=> string(4) "root"}
但是在浏览器上输入http://192.168.x.x/test.php
输出为空。
感觉是linux服务器上的权限问题,但是又不知道哪个权限问题。
运行httpd的用户名为apache
回复讨论(解决方案)
whoami 显示登录名
浏览者是匿名(就是没有名字)访问网站的,所以显示为空是正确的
whoami 显示登录名
浏览者是匿名(就是没有名字)访问网站的,所以显示为空是正确的
改成exec('date', $r);也一样,我感觉是权限问题。在php.ini中的disable_functions不存在一个被禁用的函数把错误输出 你就知道是不是权限问题了.
把错误输出 你就知道是不是权限问题了.
apache的access.log中,只有get请求。
apache的error.log中,没有错误产生。
把错误输出 你就知道是不是权限问题了.
apache的access.log中,只有get请求。
apache的error.log中,没有错误产生。
请打开 php 的错误输出
把错误输出 你就知道是不是权限问题了.
apache的access.log中,只有get请求。
apache的error.log中,没有错误产生。
请打开 php 的错误输出
错误输出是指php.ini中的 display_errors吗?
如果是的话,display_errors 已经 on没有错误的话
那么你就chmod 吧 给个777
无论是 whoami 还是date 都是可以输出结果的 在浏览器下
我在linux 下实测过了.剩下两个 人品和 权限 我想你应该更倾向于选择后者吧...
没有错误的话
那么你就chmod 吧 给个777
无论是 whoami 还是date 都是可以输出结果的 在浏览器下
我在linux 下实测过了.剩下两个 人品和 权限 我想你应该更倾向于选择后者吧...
把上面的test.php改成777吗?改后还是没用,不管我把test.php的所有权改在apache还是root
-rwxrwxrwx. 1 root root 38 Jul 10 16:14 test.php
没有错误的话
那么你就chmod 吧 给个777
无论是 whoami 还是date 都是可以输出结果的 在浏览器下
我在linux 下实测过了.剩下两个 人品和 权限 我想你应该更倾向于选择后者吧...
把上面的test.php改成777吗?改后还是没用,不管我把test.php的所有权改在apache还是root
-rwxrwxrwx. 1 root root 38 Jul 10 16:14 test.php
目录权限呢?都改改看看吧 想不出来还有什么其他的,你在什么Linux 下测试的,我在Ubuntu 下 一切都好...测试过,一切正常。
我的环境是:
Centos 6.5
PHP 5.4
Apache 2.4
Apache httpd的执行用户名(组)为非登录的apache:apachenginx
php 5.3
表示也没有输出