如何修复WordPress中的HTTP错误

系统 Linux 后端
我们会向你介绍,如何在 Linux VPS 上修复 WordPress 中的 HTTP 错误。 下面列出了 WordPress 用户遇到的最常见的 HTTP 错误,我们的建议侧重于如何发现错误原因以及解决方法。

[[221460]]

我们会向你介绍,如何在 Linux VPS 上修复 WordPress 中的 HTTP 错误。 下面列出了 WordPress 用户遇到的最常见的 HTTP 错误,我们的建议侧重于如何发现错误原因以及解决方法。

 

1、 修复在上传图像时出现的 HTTP 错误

如果你在基于 WordPress 的网页中上传图像时出现错误,这也许是因为服务器上 PHP 的配置,例如存储空间不足或者其他配置问题造成的。

用如下命令查找 php 配置文件:

  1. php -i | grep php.ini
  2. Configuration File (php.ini) Path => /etc
  3. Loaded Configuration File => /etc/php.ini

根据输出结果,php 配置文件位于 /etc 文件夹下。编辑 /etc/php.ini 文件,找出下列行,并按照下面的例子修改其中相对应的值:

  1. vi /etc/php.ini
  1. upload_max_filesize = 64M
  2. post_max_size = 32M
  3. max_execution_time = 300
  4. max_input_time 300
  5. memory_limit = 128M

当然,如果你不习惯使用 vi 文本编辑器,你可以选用自己喜欢的。

不要忘记重启你的网页服务器来让改动生效。

如果你安装的网页服务器是 Apache,你也可以使用 .htaccess 文件。首先,找到 .htaccess 文件。它位于 WordPress 安装路径的根文件夹下。如果没有找到 .htaccess 文件,需要自己手动创建一个,然后加入如下内容:

  1. vi /www/html/path_to_wordpress/.htaccess
  1. php_value upload_max_filesize 64M
  2. php_value post_max_size 32M
  3. php_value max_execution_time 180
  4. php_value max_input_time 180
  5.  
  6. # BEGIN WordPress
  7. <IfModule mod_rewrite.c>
  8. RewriteEngine On
  9. RewriteBase /
  10. RewriteRule ^index\.php$ - [L]
  11. RewriteCond %{REQUEST_FILENAME} !-f
  12. RewriteCond %{REQUEST_FILENAME} !-d
  13. RewriteRule . /index.php [L]
  14. </IfModule>
  15. # END WordPress

如果你使用的网页服务器是 nginx,在 nginx 的 server 配置块中配置你的 WordPress 实例。详细配置和下面的例子相似:

  1. server {
  2.  
  3. listen 80;
  4. client_max_body_size 128m;
  5. client_body_timeout 300;
  6.  
  7. server_name your-domain.com www.your-domain.com;
  8.  
  9. root /var/www/html/wordpress;
  10. index index.php;
  11.  
  12. location = /favicon.ico {
  13. log_not_found off;
  14. access_log off;
  15. }
  16.  
  17. location = /robots.txt {
  18. allow all;
  19. log_not_found off;
  20. access_log off;
  21. }
  22.  
  23. location / {
  24. try_files $uri $uri/ /index.php?$args;
  25. }
  26.  
  27. location ~ \.php$ {
  28. include fastcgi_params;
  29. fastcgi_pass 127.0.0.1:9000;
  30. fastcgi_index index.php;
  31. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  32. }
  33.  
  34. location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
  35. expires max;
  36. log_not_found off;
  37. }
  38. }

根据自己的 PHP 配置,你需要将 fastcgi_pass 127.0.0.1:9000; 用类似于 fastcgi_pass unix:/var/run/php7-fpm.sock; 替换掉(依照实际连接方式)

重启 nginx 服务来使改动生效。

 

2、 修复因为不恰当的文件权限而产生的 HTTP 错误

如果你在 WordPress 中出现一个意外错误,也许是因为不恰当的文件权限导致的,所以需要给 WordPress 文件和文件夹设置一个正确的权限:

  1. chown www-data:www-data -R /var/www/html/path_to_wordpress/

www-data 替换成实际的网页服务器用户,将 /var/www/html/path_to_wordpress 换成 WordPress 的实际安装路径。

 

3、 修复因为内存不足而产生的 HTTP 错误

你可以通过在 wp-config.php 中添加如下内容来设置 PHP 的***内存限制:

  1. define('WP_MEMORY_LIMIT', '128MB');

 

4、 修复因为 php.ini 文件错误配置而产生的 HTTP 错误

编辑 PHP 配置主文件,然后找到 cgi.fix_pathinfo 这一行。 这一行内容默认情况下是被注释掉的,默认值为 1。取消这一行的注释(删掉这一行最前面的分号),然后将 1 改为 0 。同时需要修改 date.timezone 这一 PHP 设置,再次编辑 PHP 配置文件并将这一选项改成 date.timezone = Asia/Shanghai (或者将等号后内容改为你所在的时区)。

  1. vi /etc/php.ini
  1. cgi.fix_pathinfo=0
  2. date.timezone = Asia/Shanghai

 

5、 修复因为 Apache mod_security 模块而产生的 HTTP 错误

如果你在使用 Apache mod_security 模块,这可能也会引起问题。试着禁用这一模块,确认是否因为在 .htaccess 文件中加入如下内容而引起了问题:

  1. <IfModule mod_security.c>
  2. SecFilterEngine Off
  3. SecFilterScanPOST Off
  4. </IfModule>

 

6、 修复因为有问题的插件/主题而产生的 HTTP 错误

一些插件或主题也会导致 HTTP 错误以及其他问题。你可以首先禁用有问题的插件/主题,或暂时禁用所有 WordPress 插件。如果你有 phpMyAdmin,使用它来禁用所有插件:在其中找到 wp_options 数据表,在 option_name 这一列中找到 active_plugins 这一记录,然后将 option_value 改为 :a:0:{}

或者用以下命令通过SSH重命名插件所在文件夹:

  1. mv /www/html/path_to_wordpress/wp-content/plugins /www/html/path_to_wordpress/wp-content/plugins.old

通常情况下,HTTP 错误会被记录在网页服务器的日志文件中,所以寻找错误时一个很好的切入点就是查看服务器日志。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2018-08-30 10:28:05

修复Windows 10IntcOED

2018-06-14 09:00:00

WordPress浏览器Web服务器

2014-07-09 14:23:20

WordPress数据库表

2018-09-25 09:46:54

修复windows 100x80070057

2019-03-04 14:40:46

Linux文件系统修复

2019-12-24 10:05:51

修复Windows 10Netwtw04.sy

2018-09-28 09:53:27

2015-07-28 14:45:31

ubuntu修复系统程序

2020-09-30 21:23:02

UbuntuLinux

2018-11-12 11:10:47

修复windows 10SYNTP.SYS

2018-07-09 14:30:32

Windows 10WindowsHTTP错误

2009-11-10 11:36:46

2022-11-23 10:16:42

DebianUbuntu修复

2019-02-20 09:54:25

Windows 10Java虚拟机

2023-11-27 09:40:58

Arch Linux

2019-06-05 11:10:11

Windows 10intelppm.syBSOD错误

2019-08-05 10:15:14

Windows 10错误0x80D0380Windows

2022-11-21 10:56:14

UbuntuLinux

2022-08-08 16:21:54

Ubuntu

2020-05-13 18:34:33

UbuntuLinux
点赞
收藏

51CTO技术栈公众号