PHP在Linux下执行exec
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
表示也没有输出
上一篇: 需要考虑的数据库相关安全政策_MySQL
下一篇: 如何正确统计中文字数?_PHP教程
推荐阅读
-
在Linux下从视频提取音频的方法
-
详解在Windows环境下访问linux虚拟机中MySQL数据库
-
PHP-Fcgi下PHP的执行时间设置方法
-
在Mac OS的PHP环境下安装配置MemCache的全过程解析
-
在PHP中运行Linux命令并启动SSH服务的例子
-
PHP 执行系统外部命令 system() exec() passthru()
-
Linux下执行程序出现 Text file busy 提示时的解决方法
-
linux下apache、mysql、php安装配置详细笔记
-
php $_SERVER windows系统与linux系统下的区别说明
-
PHP开发框架kohana3.3.1在nginx下的伪静态设置例子