Мы покажем вам, как исправить ошибки HTTP в WordPress, на Linux VPS. Ниже перечислены наиболее распространенные ошибки HTTP в WordPress, и наши предложения о том, как найти и исправить их.
Если вы получите сообщение об ошибке при загрузке изображений на ваш сайт на базе WordPress, это может быть связанно с настройками конфигурации PHP на сервере, как недостаточное ограничение по памяти или что-то типа этого.
Найдите файл конфигурации PHP с помощью следующей команды:
#php -i | grep php.ini Configuration File (php.ini) Path => /etc Loaded Configuration File => /etc/php.ini
Согласно выводу, файл конфигурации PHP находится в директории «/etc», поэтому отредактируйте файл /etc/php.ini, найдите следующие строки и измените их на эти значения:
vi /etc/php.ini
upload_max_filesize = 64M post_max_size = 32M max_execution_time = 300 max_input_time 300 memory_limit = 128M
Конечно, если вы не знакомы с текстовым редактором Vi, используйте свой любимый.
Не забудьте перезапустить веб-сервер для того, чтобы изменения вступили в силу.
Если установлен веб-сервер Apache на вашем сервере, вы можете использовать .htaccess. Во-первых, найдите файл .htaccess. Он должен находиться в корневой директории установки WordPress. Если нет файла .htaccess, создайте, а затем добавить следующее содержание:
vi /www/html/path_to_wordpress/.htaccess
php_value upload_max_filesize 64M php_value post_max_size 32M php_value max_execution_time 180 php_value max_input_time 180 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Если вы используете Nginx, настройте блок сервера Nginx с вашим экземпляром WordPress. Это должно выглядеть как на примере ниже:
server { listen 80; client_max_body_size 128m; client_body_timeout 300; server_name your-domain.ru www.your-domain.ru; root /var/www/html/wordpress; index index.php; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } }
В зависимости от конфигурации PHP, возможно, потребуется заменить ‘fastcgi_pass 127.0.0.1:9000;’ на ‘fastcgi_pass unix:/var/run/php7-fpm.sock;’.
Перезапустите службу Nginx для того, чтобы изменения вступили в силу.
Если вы получите неожиданную ошибку HTTP в WordPress, это может быть связано с неправильными правами доступа к файлам, поэтому установить надлежащее право собственности на файлы и каталоги в WordPress:
chown www-data:www-data -R /var/www/html/path_to_wordpress/
Замените «www-data» на фактического пользователя веб-сервера, фактический путь установки WordPress является ‘/var/www/html/path_to_wordpress’.
Значение memory_limit в PHP можно установить, добавив в файл wp-config.php:
define('WP_MEMORY_LIMIT', '128MB');
Изменение основного файла конфигурации PHP, найдите строку с содержимым ‘cgi.fix_pathinfo. Она будет закомментирована по умолчанию и установлено в 1. Раскомментируйте строку (удалите точку с запятой) и измените значение с 1 на 0. Вы можете также изменить date.timezone в настройках PHP, так же измените конфигурационный файл PHP и измените эту настройку на «date.timezone = “Ваша зона”» (или любой другой ваш часовой пояс).
vi /etc/php.ini
cgi.fix_pathinfo=0 date.timezone = "Ваша зона"
Если вы используете в Apache модуль mod_security, это может быть причиной проблемы. Попробуйте отключить его, чтобы увидеть, является он проблемой или нет, добавив следующие строки в .htaccess:
<IfModule mod_security.c> SecFilterEngine Off SecFilterScanPOST Off </IfModule>
Некоторые плагины и/или тема могут привести к ошибкам HTTP и другим проблемам в WordPress. Вы можете попробовать отключить проблемные плагины/темы, или временно отключить все плагины. Если у вас есть PhpMyAdmin, используйте его, чтобы отключить все плагины:
Найдите таблицу wp_options, в столбце OPTION_NAME (поле) найти строку «active_plugins» и измените поле OPTION_VALUE на: а: 0: {}
Или временно переименуйте каталог плагинов через SSH с помощью следующей команды:
mv /www/html/path_to_wordpress/wp-content/plugins /www/html/path_to_wordpress/wp-content/plugins.old
В общем, ошибки HTTP записываются в лог-файлы веб-сервера, поэтому являются хорошей отправной точкой, чтобы проверить журнал ошибок веб-сервера на вашем сервере.