0

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

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

我想这与权限有关。

我试过chmod 755 phpdirectory了,但它不起作用。。

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

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

4

3 回答 3

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 用户和组不同。

# 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
于 2013-10-06T12:31:38.177 回答
0

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

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

更新问题后编辑。

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

于 2013-10-06T09:05:03.237 回答
0

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

于 2013-10-06T09:09:59.523 回答