- 请参阅下面的 Tl; dr 获取简短版本 -
在我的ubuntu-16.04 droplet apache2和php7上都使用用户www-data。在某些时候,所有三个wordpress-4.7.2的安装似乎都没有理由开始要求FTP凭据,表明他们没有足够的权利。每个wp实例都有自己的mysql数据库。
我尝试使用
为/ site1解决此问题sudo chown www-data:www-data /var/www/site1/* -R
这不应该改变任何内容,因为这是权限的设置方式。无论出于何种原因,这导致浏览器返回
HTTP ERROR 500
对于/ var / www / site1,/ var / www / site2和/ var / www / site3中的网站 - 不再有效。
我发现摆脱这种情况的唯一方法是恢复液滴。但每当我尝试获得权限时,我最终会再次关闭所有网站。
这些是当前的权限设置:
drwxr-xr-x 14 root root 4096 Feb 3 XX:14 /var/
drwxrwxr-x 8 www-data www-data 4096 Mar 5 XX:27 /var/www/
drwxr-sr-x 3 www-data www-data 4096 Mar 5 XX:13 /var/www/site1/
drwxrwxr-x 3 www-data www-data 4096 Feb 25 XX:51 /var/www/site2/
drwxrwxr-x 3 www-data www-data 4096 Feb 28 XX:06 /var/www/site3/
sudo用户是www-data:
的成员user1@droplet:~$ members www-data
www-data user2 user1
/ site1上新安装的主题导致了许多PHP致命错误,例如:
[Sun Mar 05 19:24:04.003189 2017] [:error] [pid 5632] [client 31.10.138.238:50870]
PHP Fatal error: Uncaught Error: Call to undefined function mysql_escape_string()
in /var/www/site1/html/wp-content/themes/gloria/functions.php:60\nStack trace:\n#0
/var/www/site1/html/wp-settings.php(425): include()\n#1 /var/www/bw/html/wp-config.php(89):
require_once('/var/www/site1/htm...')\n#2 /var/www/bw/html/wp-load.php(37):
require_once('/var/www/site1/htm...')\n#3 /var/www/bw/html/wp-admin/admin.php(31):
require_once('/var/www/site1/htm...')\n#4 /var/www/bw/html/wp-admin/themes.php(10):
require_once('/var/www/site1/htm...')\n#5 {main}\n thrown in
/var/www/site1/html/wp-content/themes/gloria/functions.php on line 60
删除主题后,/ site1重新上线。我不知道为什么。前两次我因为
而最终恢复了液滴HTTP ERROR 500
这个主题并没有涉及。即使/ site1已备份,/ site2和/ site3仍然停留在
HTTP ERROR 500
由于删除了/ site1中的主题,因此Apache错误日志没有任何可疑条目:
[Sun Mar 05 19:56:35.456584 2017] [mpm_prefork:notice] [pid 1671] AH00171: Graceful restart requested, doing restart
[Sun Mar 05 19:56:35.662742 2017] [mpm_prefork:notice] [pid 1671] AH00163: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Mar 05 19:56:35.662765 2017] [core:notice] [pid 1671] AH00094: Command line: '/usr/sbin/apache2'
有什么想法吗?
编辑:/ var / www / site2 / activecollab /中的ActiveCollab实例在整个问题期间从未停止工作。 ActiveCollab为其自己的文件,文件夹和数据库完成的所有连接和权限检查都是正面的。
Tl;博士: WP1要求FTP,我说
sudo chown www-data:www-data /var/www/site1/* -R
WP1,WP2和WP3告诉浏览器
HTTP ERROR 500
虽然WP2子文件夹中的ActiveCollab没有给出sh * t并继续运行。
答案 0 :(得分:0)
试试这些
sudo chmod -R 774 /var/www/yourwordpressfolder
然后
sudo chown -R www-data:www-data /var/www/yourwordpress
最后
sudo chmod -R 777 /var/www/yourwordpressfolder