php在浏览器或命令行上执行不同的操作

时间:2017-03-06 10:18:40

标签: centos php-7 apache2.2

早上好,伙计们, 我刚刚用php 7.0.13和apache 2.2构建了一个CentOS服务器,测试它时发生了最奇怪的事情。 我有一个完全通过命令行工作的curl脚本,但是在通过浏览器调用时没有,经过调查,我意识到如果我通过浏览器这样做,我也无法写入文件,但我没有任何问题通过命令行完成。

我认为问题出现在两个不同的php.ini文件中,但在验证了phpinfo之后,我意识到CL和浏览器都加载相同,并且所有扩展似乎也正确加载,通过使用get_current_user()我还可以验证同一个用户是否正在执行这两个用户。我认为这个问题会出现在apache中,但我不知道是什么原因造成的。

有人可以指出解决问题的可能途径吗?从这一点开始我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

正如Hassan所说,问题在于用户执行脚本。

我提交了一个错误,认为get_current_user()表示执行脚本的用户没有,它表示文件所有者。

如果您遇到类似的问题,需要确定谁在执行脚本,请使用exec('whoami');代替。

编辑:好的虽然这是其中一个错误,但主要的错误是SELinux被激活的事实,一旦我停用脚本就开始完美运行。