PHP在Linux下执行exec

职业玩家_ 2014-07-10 02:53:07
PHP的版本为5.4

PHP代码如下:

<?php
exec('whoami', $r);
var_dump($r);


root用户在服务器终端使用php test.php
输出结果如下,是正确的

[root@localhost htdocs]# php test.php
array(1) {
[0]=>
string(4) "root"
}


但是在浏览器上输入http://192.168.x.x/test.php
输出为空。

感觉是linux服务器上的权限问题,但是又不知道哪个权限问题。
运行httpd的用户名为apache
...全文
604 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿不阿 2016-05-19
  • 打赏
  • 举报
回复
是不是要给web服务器改成root用户组?
nuist2006 2014-12-26
  • 打赏
  • 举报
回复
朋友,你最后怎么解决的啊,我执行ping 也是什么都没输出,返回状态是2
liu510817387 2014-07-11
  • 打赏
  • 举报
回复
nginx php 5.3 表示也没有输出
职业玩家_ 2014-07-11
  • 打赏
  • 举报
回复
我的环境是: Centos 6.5 PHP 5.4 Apache 2.4 Apache httpd的执行用户名(组)为非登录的apache:apache
傲雪星枫 2014-07-10
  • 打赏
  • 举报
回复
测试过,一切正常。
黄袍披身 2014-07-10
  • 打赏
  • 举报
回复
引用 8 楼 u011462239 的回复:
[quote=引用 7 楼 PhpNewnew 的回复:] 没有错误的话 那么你就chmod 吧 给个777 无论是 whoami 还是date 都是可以输出结果的 在浏览器下 我在linux 下实测过了.剩下两个 人品和 权限 我想你应该更倾向于选择后者吧...
把上面的test.php改成777吗?改后还是没用,不管我把test.php的所有权改在apache还是root -rwxrwxrwx. 1 root root 38 Jul 10 16:14 test.php[/quote] 目录权限呢?都改改看看吧 想不出来还有什么其他的,你在什么Linux 下测试的,我在Ubuntu 下 一切都好...
职业玩家_ 2014-07-10
  • 打赏
  • 举报
回复
引用 7 楼 PhpNewnew 的回复:
没有错误的话 那么你就chmod 吧 给个777 无论是 whoami 还是date 都是可以输出结果的 在浏览器下 我在linux 下实测过了.剩下两个 人品和 权限 我想你应该更倾向于选择后者吧...
把上面的test.php改成777吗?改后还是没用,不管我把test.php的所有权改在apache还是root -rwxrwxrwx. 1 root root 38 Jul 10 16:14 test.php
黄袍披身 2014-07-10
  • 打赏
  • 举报
回复
没有错误的话
那么你就chmod 吧 给个777
无论是 whoami 还是date 都是可以输出结果的 在浏览器下
我在linux 下实测过了.剩下两个 人品和 权限 我想你应该更倾向于选择后者吧...
职业玩家_ 2014-07-10
  • 打赏
  • 举报
回复
引用 5 楼 PhpNewnew 的回复:
[quote=引用 4 楼 u011462239 的回复:] [quote=引用 3 楼 PhpNewnew 的回复:] 把错误输出 你就知道是不是权限问题了.
apache的access.log中,只有get请求。 apache的error.log中,没有错误产生。[/quote] 请打开 php 的错误输出[/quote] 错误输出是指php.ini中的 display_errors吗? 如果是的话,display_errors 已经 on
黄袍披身 2014-07-10
  • 打赏
  • 举报
回复
引用 4 楼 u011462239 的回复:
[quote=引用 3 楼 PhpNewnew 的回复:] 把错误输出 你就知道是不是权限问题了.
apache的access.log中,只有get请求。 apache的error.log中,没有错误产生。[/quote] 请打开 php 的错误输出
职业玩家_ 2014-07-10
  • 打赏
  • 举报
回复
引用 3 楼 PhpNewnew 的回复:
把错误输出 你就知道是不是权限问题了.
apache的access.log中,只有get请求。 apache的error.log中,没有错误产生。
黄袍披身 2014-07-10
  • 打赏
  • 举报
回复
把错误输出 你就知道是不是权限问题了.
职业玩家_ 2014-07-10
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
whoami 显示登录名 浏览者是匿名(就是没有名字)访问网站的,所以显示为空是正确的
改成exec('date', $r);也一样,我感觉是权限问题。在php.ini中的disable_functions不存在一个被禁用的函数
xuzuning 2014-07-10
  • 打赏
  • 举报
回复
whoami 显示登录名 浏览者是匿名(就是没有名字)访问网站的,所以显示为空是正确的

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧