我最近将我的网站从共享的网络主机移到了VPS,并配置了apache2 / vsftpd和东西。
经过一天弄乱一切后,我终于完成了所有工作,但是,我遇到了在浏览器中加载PHP文件的问题。
PHP没有显示任何错误,当我点击Chrome中的meta_value = true
时,我在加载说F12
我认为这与我在文件中尝试做的事情有关,但是在表单所在的页面和jQuery调用它时,它工作得很好。
但是,由于我想返回特定的消息(以及那些消息),我希望它在一个空页面上,所以我可以回复它们。
所以,我创建了一个新页面,通过GET: [mydomain]/api/myfile.php 500 (Internal Server Error)
上传并用我的浏览器打开它,因为我没有发布任何我希望它回应的内容#34;没有POST数据&#34 ;,正如我在vsftpd
未设置时所做的那样,但只是一个空的白页。
我尝试将文件更改为
$_POST['userStatus']
但是那也没有用。我得到了同样的错误。
我想也许<?php echo "Test"; ?>
的权限可能无法访问它,
所以我做了www-data
,并重新启动了apache2,但仍然没有运气。
它实际上不允许我的FTP用户继续上传,因此我必须chown -R www-data /home/myuser/mysite/public_html
才能让它再次上传。
它可能是具有权限的东西吗?也许在apache中配置错误?
我的chown -R myuser /home/myuser/mysite/public_html
文件由于上次正常工作而未被更改,因此我不太确定这是否是罪魁祸首。
如果它很重要:
我在Debian Wheezy上运行Apache2.2
我的php.ini文件设置为显示错误
我添加了.htaccess
和error_reporting(E_ALL)
,但仍然没有错误
ini_set('display_errors', 1)
返回php -l myfile.php
目前该文件只包含No syntax errors detected in myfile.php
,但仍然没有
FTP用户具有上载,覆盖,删除文件和创建/删除目录的适当权限
我尝试删除文件/重新上传,重新启动apache,并尝试以root身份创建文件(使用<?php echo "Test"; ?>
)
我尝试过vim
以确保它不仅仅是加载页面的缓存版本
其他网站和子域名都可以正常运行。
Empty Cache and Hard Reload
文件:
/var/log/apache2/error.log
我的[Mon Jul 27 05:16:45 2015] [error] [client] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
[Mon Jul 27 05:16:45 2015] [error] [client] PHP Fatal error: Unknown: Failed opening required '/path/to/dir/api/myfile.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0
文件:
.htaccess
<小时/> 编辑:完全删除文件,并以root身份创建一个新文件(在浏览器中显示)。但是,我无法以FTP用户的身份覆盖/更改文件。
执行RewriteEngine On
Options -Indexes
ErrorDocument 404 https://my-main-site/404
ErrorDocument 403 https://my-main-site/404
ErrorDocument 500 https://my-main-site/500.shtml
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^u/(.*)$ /profile.php?user=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^u/(.*)/friends$ /profile.php?user=$1&friends [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^404$ /x/includes/errors/404.php [L]
和/或chown www-data myFile.php
都会使文件无法再次加载。
我刚刚再次chown myftpuser myFile.php给了我的ftp用户对该文件的所有权/权限。
网站上的所有其他文件/目录都归我的ftp用户所有,所以我不知道会发生这种情况。
答案 0 :(得分:1)
看起来您需要将您的FTP用户添加到www-data组并使您的项目组可读/可写。