1. linux php 版本太低,不匹配当前wordpress版本,导致无法解析
由于之前装的php插件比较多,故卸载很麻烦,不准备卸载,故考虑再装一套高版本的php环境,也就是一个linux 系统中运行两套php版本,具体操作如下:
-----------
系统默认安装了php5.4.16,现在想再安装一个7.1,则
mkdir -p /usr/local/php71
wget https://www.php.net/distributions/php-7.1.18.tar.gz
或者 wget https://www.php.net/distributions/php-7.2.16.tar.gz
下面以7.1.18版本为例安装
tar -zxvf php-7.1.18.tar.gz
cd php-7.1.18
./configure --prefix=/usr/local/php71 --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-mbstring --with-curl=/usr/local/curl --with-gd --with-freetype-dir=/usr/local/freetype --with-zlib --with-bz2 --enable-sockets --enable-sysvsem --enable-sysvshm -enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --with-openssl --with-libdir=/lib/x86_64-linux-gnu/ --enable-ftp --with-gettext --with-xmlrpc --enable-opcache --with-iconv --enable-mysqlnd --with-mysqli=mysqlnd --with-iconv-dir --with-kerberos --with-pdo-sqlite --with-pear --enable-libxml --enable-shmop --enable-xml --enable-opcache --enable-gd-native-ttf
//注意 --with-freetype-dir=/usr/local/freetype 是安装gd freetype库 如果不需要请删除,如果需要请在指定目录下安装freetype库后再运行上面的指令
[
freeType官方下载地址:https://www.freetype.org/download.html
下载freeType 解压后,进入源码目录
./configure --prefix=/usr/local/freetype
make && make install
]
//注意 其中的php71目录 如果是其他版本,请修改。
//注意此处会报很多环境的错误,请按照错误提示一一搜索解决方法,都安装好了,重新执行上面的语句,我的具体错误例如:
php报错:libxml2 not found. Please check your libxml2 installation----》Linux下安装php报错:libxml2 not found. Please check your libxml2 installation_一只不正经的程序猿的博客-CSDN博客
checking for cURL 7.15.5 or greater... configure: error: cURL version 7.15.5 or later is required to----》checking for cURL 7.15.5 or greater... configure: error: cURL version 7.15.5 or later is required to_u014265398的博客-CSDN博客
configure: error: png.h not found.错误的解决方法------------------》configure: error: png.h not found.错误的解决方法_lovely_1014的博客-CSDN博客
configure: error: Please reinstall the BZip2 distribution错误的解决方法------------------》
编译安装 PHP 7.2 报错:checking for BZip2 in default path... not found configure: error: Please reinstall_u010227042的博客-CSDN博客
configure: error: jpeglib.h not found. 错误的解决方法------------------》
安装php过程中的错误和解决方式 configure: error: jpeglib.h not found_u010227042的博客-CSDN博客
运行成功后执行:
make
make install
cp php.ini-development /usr/local/php71/lib/php.ini
重命名:
cd /usr/local/php71/etc
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
更改侦听端口(127.0.0.1:9000 为默认的):
cd /usr/local/php71/etc/php-fpm.d
vim www.conf
修改配置文件php.ini(vi /usr/local/php71/lib/php.ini)
cgi.fix_pathinfo=0
启动php-pfm
/usr/local/php71/sbin/php-fpm
---------------------------------------------------------------------------------------------------------
若出现:
参考:
centos7 安装php7,报错cannot get uid for user nginx_u010227042的博客-CSDN博客
-----------------------------------------------------------------------------------------------------------
查看是否启动成功:
ps aux|grep php
若出现以下提示,则表示安装多版本php成功
此时,新安装的php已经正常运行了,这个时候回到nginx配置文件中,将php的解析的代理fpm ip 端口配置为127.0.0.1:9001,这个是上面设置php监听ip端口
这样重新运行wordexpress 网站应该啊可以正常解析了。参考文献 :Linux 安装多个php版本并配置 - 离岸少年 - 博客园
2. wordpress正常起来后,文章详情页面全部报 404 解决方案如下:
根据官方文档,在nginx.conf配置文件的server中添加这一段:
1 2 3 4 |
location / { try_files $uri $uri/ /index.php?$args; } rewrite /wp-admin$ $scheme:; |
参考文献:nginx服务器下的wordpress更换固定链接后,文章页面变404了 | 前端面试题