我已经将一些php脚本上传到了/php目录和子目录下的服务器。
在终端中使用我的 root 用户并运行php file.php
时,它可以完美地执行它,但是当尝试通过浏览器访问同一文件时 - 没有任何反应......
我想这与权限有关。
我已经尝试过chmod 755 phpdirectory
但它不起作用..
为了让浏览器用户能够运行PHP脚本,我还应该做什么?
更新我正在使用带有apache和Direct Admin的FreeBsd系统。有人可以指导我在哪里检查设置吗?
Commony 所有webb对文件的访问都是通过特定用户(例如www-data)完成的,以便通过Web www-data访问文件需要访问代码的权限。如何设置取决于服务器正在运行的系统。
此外,服务器document_root需要正确设置。执行此操作的位置还取决于您运行的服务器。
更新问题后编辑。
在 apache 中,这通常是通过文件/etc/apache/sites-avalible/your_site 完成的。如果服务器只提供一个页面,你可以在 http.conf
检查 httpd.conf 文件中的 User 指令是否与您用于运行 PHP 脚本的用户相同。
你需要确保你的 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 目录和文件的所有者和组。在这种情况下,所有者和组(根/根)与 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