WordPress建站初期常见问题

主要讲述了WordPress初期容易遇上的错误以及解决方法

自带插件不能删除

ssh进入服务器,输入(/home/web为安装路径):

echo "define('FS_METHOD', 'direct');" >> /home/web/html/wp-config.php

redis报错连接不上

ssh服务器,输入(/home/web为安装路径):

echo "define('WP_REDIS_HOST', 'redis'); define('WP_REDIS_PORT', '6379');" >> /home/web/html/wp-config.php

文章页面404

触发原因是固定链接修改后,同时发布文章会显示 wordpress网站发布失败:此响应不是合法的JSON响应

nginx添加伪静态配置规则,在https,server{ } 大括号里面添加下面的代码:

location / {
try_files $uri $uri/ /index.php?$args;
}

# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

主题上传失败

表现为 上传的文件大小超过 php.ini 文件中定义的 upload_max_filesize 值

先查看下容器信息

docker ps -a

进入容器 php:填容器名或者镜像ID 容器

docker exec -it php /bin/bash

查询 php.ini 的位置

php --ini 

如果出现如下显示:

Configuration File (php.ini) Path: /usr/local/etc/php                                                                                                                                                               

Loaded Configuration File:         (none)                                                                                                                                                                           

Scan for additional .ini files in: /usr/local/etc/php/conf.d                                                                                                                                                        

Additional .ini files parsed:      /usr/local/etc/php/conf.d/docker-fpm.ini,                                                                                                                                        

/usr/local/etc/php/conf.d/docker-php-ext-mysqli.ini,                                                                                                                                                                

/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini

文件本该出现的位置/usr/local/etc/php显示为 (none) ,表明文件不存在
输入ls显示路径下只有有如下文件:

conf.d  php.ini-development  php.ini-production

php.ini-developmentphp.ini-production为官方提供的参考配置文件,任意复制一份并重命名为 php.ini

cp php.ini-production php.ini

再输入php --ini检查是否生效,出现如下表示生效:

Configuration File (php.ini) Path: /usr/local/etc/php                                                                                                                                                               

Loaded Configuration File:         /usr/local/etc/php/php.ini                                                                                                                                                       

Scan for additional .ini files in: /usr/local/etc/php/conf.d                                                                                                                                                        

Additional .ini files parsed:      /usr/local/etc/php/conf.d/docker-fpm.ini,                                                                                                                                        

/usr/local/etc/php/conf.d/docker-php-ext-mysqli.ini,                                                                                                                                                                

/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini

退出容器:

exit

将配置文件复制到容器外方便修改,./表示容器外的当前路径:

docker cp php:usr/local/etc/php/php.ini ./

将文件下载到本地,修改如下内容:

post_max_size = 16M
upload_max_filesize = 16M

覆盖容器外的 php.ini ,并复制回容器内:

docker cp php.ini php:usr/local/etc/php/php.ini

重启容器

docker restart php

刷新下页面,上传主题文件

缺少一个或多个必须的模组

工具-站点健康 里显示

缺少模组

进入容器 php:填容器名或者镜像ID 容器

docker exec -it php /bin/bash

输入php -m,查看当前的扩展模块,不出意外的是没有:

[PHP Modules]                                                                                                                                                   
Core                                                                                                                                                            
ctype                                                                                                                                                           
curl                                                                                                                                                            
date                                                                                                                                                            
dom                                                                                                                                                             
fileinfo                                                                                                                                                        
filter                                                                                                                                                          
hash                                                                                                                                                            
iconv                                                                                                                                                           
json                                                                                                                                                            
libxml                                                                                                                                                          
mbstring                                                                                                                                                        
mysqli                                                                                                                                                          
mysqlnd                                                                                                                                                         
openssl                                                                                                                                                         
pcre                                                                                                                                                            
PDO                                                                                                                                                             
pdo_sqlite                                                                                                                                                      
Phar                                                                                                                                                            
posix                                                                                                                                                           
random                                                                                                                                                          
readline                                                                                                                                                        
Reflection                                                                                                                                                      
session                                                                                                                                                         
SimpleXML                                                                                                                                                       
sodium                                                                                                                                                          
SPL                                                                                                                                                             
sqlite3                                                                                                                                                         
standard                                                                                                                                                        
tokenizer                                                                                                                                                       
xml                                                                                                                                                             
xmlreader                                                                                                                                                       
xmlwriter                                                                                                                                                       
zlib

安装exif、zip扩展

docker-php-ext-install exif
docker-php-ext-install zip

安装gd扩展

先安装gd的依赖包,不然装不了gd扩展(php7.4以上的版本):

apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev \ libwebp-dev \ zlib1g-dev

添加gd库编译选项:

docker-php-ext-configure gd \ --enable-gd \ --with-freetype \ --with-jpeg \ --with-webp

再安装gd扩展模块:

docker-php-ext-install -j$(nproc) gd

安装intl扩展

pecl install imagick && \
docker-php-ext-enable imagick

安装imagick扩展

先安装,弹出提示直接回车:

apt-get install -y libmagickwand-dev \  
&& pecl install imagick

再安装imagick扩展模块:

docker-php-ext-enable imagick

如果是PHP8.3以上版本:

ERROR: `make INSTALL_ROOT="/tmp/pear/temp/pear-build-defaultuserl6yASZ/install-imagick-3.7.0" install' failed

这个错误通常是由于 Imagick.stub.php 文件中的预处理条件没有正确关闭。这个问题在 PHP 8.3 上尤为常见。解决需要把PHP换成8.2或以下版本,或者用 develop 分支。
因为不影响使用,也没查到可以成功使用的 develop 分支方法,所以选择不管imagick扩展。

检查是否都安装成功

输入php -m检查容器扩展,退出容器

exit

用上文的方法,修改 php.ini ,将对应插件前的 ; 去掉,没有的添加上:

extension=gd
extension=intl
extension=exif
extension=zip
extension=imagick.so

重启容器

docker restart php

WordPress无法上传WebP、ico等图片

搜索安装 Enable SVG, WebP, and ICO Upload 插件

参考资料

Licensed under CC BY-NC-SA 4.0
最后更新于 2025-03-25 16:40 CST
主题 StackJimmy 设计 Blog Run Time
Love U: