В прошлую пятницу я обновил установку php моего блога Wordpress с php 5.6.31 до php 5.6.35. Блог использует FastCGI и Apache для обслуживания трафика, а сервер работает под управлением CentOS 7. После обновления права доступа к файлам Wordpress, похоже, нарушены. Я не могу загружать файлы в записи блогов, обновлять плагины или обновлять сам Wordpress.
Сначала при попытке обновить Wordpress у меня запрашивались учетные данные FTP, которые я никогда не использовал в прошлом. Поэтому я добавил define('FS_METHOD', 'direct');
в свой wp-config.php. Это позволило добиться прогресса, но я получаю ошибки, которые подразумевают проблемы с правами доступа к файлам, хотя, насколько я могу судить, они правильные.
Все файлы для WordPress находятся в /var/www/html
, который принадлежит apache:apache
. Файлы в основном 0644, а папки 0755, и ни один из них не изменился с момента обновления. httpd работает как apache, как и php-fpm. Попытка обновить сам WordPress показывает:
Downloading update from https://downloads.wordpress.org/release/wordpress-4.9.5-no-content.zip…
Unpacking the update…
Warning: copy(/var/www/html/wp-admin/includes/update-core.php): failed to open stream: Permission denied in /var/www/html/wp-admin/includes/class-wp-filesystem-direct.php on line 243
The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.: wp-admin/includes/update-core.php
Installation Failed
Мне интересно, могло ли обновление php каким-либо образом изменить конфигурацию php и, как таковое, нарушить доступ php к блогу. Это не похоже на права доступа к файлам, хотя каждая ошибка предполагает, что это так. Например, я могу sudo -u apache touch /var/www/html/wp-admin/includes/test
просто отлично.
Вот как выглядит мой /etc/httpd/conf.d/php.conf
:
# Cause the PHP interpreter to handle files with a .php extension.
#
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
#AddHandler php5-script .php
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php
#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps
#
# Apache specific PHP configuration options
# those can be override in each configured vhost
#
php_value session.save_handler "files"
php_value session.save_path "/var/lib/php/session"
#php_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache"
Вот транзакция yum:
Updated php56w-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-bcmath-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-cli-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-common-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-dba-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-devel-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-fpm-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-gd-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-intl-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-mbstring-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-mcrypt-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-opcache-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-pdo-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-process-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-soap-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
Updated php56w-xml-5.6.31-1.w7.x86_64 @webtatic
Update 5.6.35-1.w7.x86_64 @webtatic
У кого-нибудь есть идеи относительно того, как можно попытаться устранить эту проблему, если это на самом деле вызвано изменением конфигурации, вызванным обновлением php? К сожалению, история отмены yum [x] не работает для меня, поэтому я думаю, что мне, возможно, придется с этим разобраться.
Спасибо за любую помощь, которую вы можете предоставить.