如何修復WordPress中的HTTP錯誤
我們會向你介紹,如何在 Linux VPS 上修復 WordPress 中的 HTTP 錯誤。 下面列出了 WordPress 用戶遇到的最常見的 HTTP 錯誤,我們的建議側重于如何發(fā)現(xiàn)錯誤原因以及解決方法。
1、 修復在上傳圖像時出現(xiàn)的 HTTP 錯誤
如果你在基于 WordPress 的網(wǎng)頁中上傳圖像時出現(xiàn)錯誤,這也許是因為服務器上 PHP 的配置,例如存儲空間不足或者其他配置問題造成的。
用如下命令查找 php 配置文件:
php -i | grep php.iniConfiguration File (php.ini) Path => /etcLoaded Configuration File => /etc/php.ini
根據(jù)輸出結果,php 配置文件位于 /etc 文件夾下。編輯 /etc/php.ini 文件,找出下列行,并按照下面的例子修改其中相對應的值:
vi /etc/php.ini
upload_max_filesize = 64Mpost_max_size = 32Mmax_execution_time = 300max_input_time 300memory_limit = 128M
當然,如果你不習慣使用 vi 文本編輯器,你可以選用自己喜歡的。
不要忘記重啟你的網(wǎng)頁服務器來讓改動生效。
如果你安裝的網(wǎng)頁服務器是 Apache,你也可以使用 .htaccess 文件。首先,找到 .htaccess 文件。它位于 WordPress 安裝路徑的根文件夾下。如果沒有找到 .htaccess 文件,需要自己手動創(chuàng)建一個,然后加入如下內容:
vi /www/html/path_to_wordpress/.htaccess
php_value upload_max_filesize 64Mphp_value post_max_size 32Mphp_value max_execution_time 180php_value max_input_time 180# BEGIN WordPress<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - [L]RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php [L]</IfModule># END WordPress
如果你使用的網(wǎng)頁服務器是 nginx,在 nginx 的 server 配置塊中配置你的 WordPress 實例。詳細配置和下面的例子相似:
server {listen 80;client_max_body_size 128m;client_body_timeout 300;server_name your-domain.com www.your-domain.com;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;}}
根據(jù)自己的 PHP 配置,你需要將 fastcgi_pass 127.0.0.1:9000; 用類似于 fastcgi_pass unix:/var/run/php7-fpm.sock; 替換掉(依照實際連接方式)
重啟 nginx 服務來使改動生效。
2、 修復因為不恰當?shù)奈募嘞薅a(chǎn)生的 HTTP 錯誤
如果你在 WordPress 中出現(xiàn)一個意外錯誤,也許是因為不恰當?shù)奈募嘞迣е碌?,所以需要給 WordPress 文件和文件夾設置一個正確的權限:
chown www-data:www-data -R /var/www/html/path_to_wordpress/
將 www-data 替換成實際的網(wǎng)頁服務器用戶,將 /var/www/html/path_to_wordpress 換成 WordPress 的實際安裝路徑。
3、 修復因為內存不足而產(chǎn)生的 HTTP 錯誤
你可以通過在 wp-config.php 中添加如下內容來設置 PHP 的***內存限制:
define('WP_MEMORY_LIMIT', '128MB');
4、 修復因為 php.ini 文件錯誤配置而產(chǎn)生的 HTTP 錯誤
編輯 PHP 配置主文件,然后找到 cgi.fix_pathinfo 這一行。 這一行內容默認情況下是被注釋掉的,默認值為 1。取消這一行的注釋(刪掉這一行最前面的分號),然后將 1 改為 0 。同時需要修改 date.timezone 這一 PHP 設置,再次編輯 PHP 配置文件并將這一選項改成 date.timezone = Asia/Shanghai (或者將等號后內容改為你所在的時區(qū))。
vi /etc/php.ini
cgi.fix_pathinfo=0date.timezone = Asia/Shanghai
5、 修復因為 Apache mod_security 模塊而產(chǎn)生的 HTTP 錯誤
如果你在使用 Apache mod_security 模塊,這可能也會引起問題。試著禁用這一模塊,確認是否因為在 .htaccess 文件中加入如下內容而引起了問題:
<IfModule mod_security.c>SecFilterEngine OffSecFilterScanPOST Off</IfModule>
6、 修復因為有問題的插件/主題而產(chǎn)生的 HTTP 錯誤
一些插件或主題也會導致 HTTP 錯誤以及其他問題。你可以首先禁用有問題的插件/主題,或暫時禁用所有 WordPress 插件。如果你有 phpMyAdmin,使用它來禁用所有插件:在其中找到 wp_options 數(shù)據(jù)表,在 option_name 這一列中找到 active_plugins 這一記錄,然后將 option_value 改為 :a:0:{}。
或者用以下命令通過SSH重命名插件所在文件夾:
mv /www/html/path_to_wordpress/wp-content/plugins /www/html/path_to_wordpress/wp-content/plugins.old
通常情況下,HTTP 錯誤會被記錄在網(wǎng)頁服務器的日志文件中,所以尋找錯誤時一個很好的切入點就是查看服務器日志。
































