PHP脚本在终端中以root身份运行,但不在浏览器中运行

时间:2013-10-06 08:59:17

标签: php apache

我已经将一些php脚本上传到我的服务器下的/ php目录和子目录。

在终端中使用我的root用户并运行php file.php时,它会完美地执行它,但是当尝试通过浏览器访问同一个文件时 - 没有任何反应......

我想这与权限有关。

我已经尝试了chmod 755 phpdirectory,但它不起作用..

我还应该做些什么才能让浏览器用户能够运行php脚本?

更新 我正在使用带有apache和Direct Admin的FreeBsd系统。 有人可以指导我去哪里查看设置吗?

3 个答案:

答案 0 :(得分:0)

Usualy对文件的所有webb访问都是通过特定用户(例如www-data)完成的,以便通过web www-data需要访问该代码才能访问该文件。如何设置取决于服务器运行的系统。

还需要正确设置服务器document_root。您执行此操作的位置还取决于您正在运行的服务器。

更新问题后

编辑

在apache中,这通常通过文件/ etc / apache / sites-avalible / your_site来完成 如果服务器只提供一个页面,您可以在http.conf

中执行此操作

答案 1 :(得分:0)

检查httpd.conf文件中的用户指令是否与用于运行PHP脚本的用户相同。

答案 2 :(得分:0)

您需要确保您的PHP脚本具有与在Apache配置中配置的用户和组相同的用户和组(CentOS 6.4中的/etc/httpd/httpd.conf)。

# User/Group: The name (or #number) of the user/group to run httpd as.
User apache
Group apache

检查PHP目录和文件的所有者和组。在这种情况下,所有者和组(root / root)与Apache User和Group不同。

# ls -alh
total 516K
drwxr-xr-x.  5 root root 4.0K Aug 29 17:57 .
drwx------.  5 root root 4.0K Jun 24 12:06 ..
-rwxr--r--.  1 root root 356K Jul  7  2012 index.php

更改PHP目录的所有者和组。使用以下命令。

# chown -R apache:apache www