wordpress升級5.1後的一系列坑

wordpress自動更新至5.1版本後,提示升級PHP可提升性能。因而我開始對服務器進行了PHP升級···這裏我升級至php7.2.16版本,升級歷程以下:php

檢查wordpress上已安裝插件是否支持PHP7.2

  • 在wordpress後臺安裝該插件:PHP Compatibility Checker,啓用後對已安裝插件進行掃描,可選擇待檢查支持的PHP版本,使用較爲簡單,此處不贅述。

安裝PHP7.2版本

cd /usr/local/
#解壓安裝包
tar -xzvf php-7.2.16.tar.gz
cd php-7.2.16
#查看下幫助
./configure   --help
#執行編譯
./configure --prefix=/usr/local/php \
 --with-curl \
 --with-freetype-dir \
 --with-gd \
 --with-gettext \
 --with-iconv-dir \
 --with-kerberos \
 --with-libdir=lib64 \
 --with-libxml-dir \
 --with-mysqli \
 --with-openssl \
 --with-pcre-regex \
 --with-pdo-mysql \
 --with-pdo-sqlite \
 --with-pear \
 --with-png-dir \
 --with-xmlrpc \
 --with-xsl \
 --with-zlib \
 --enable-fpm \
 --enable-bcmath \
 --enable-libxml \
 --enable-inline-optimization \
 --enable-gd-native-ttf \
 --enable-mbregex \
 --enable-mbstring \
 --enable-opcache \
 --enable-pcntl \
 --enable-shmop \
 --enable-soap \
 --enable-sockets \
 --enable-sysvsem \
 --enable-xml \
 --enable-zip
 #執行過程當中可能會提示缺乏依賴庫,使用yum安裝依賴庫,基本包含以下:
 yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel pcre-devel curl-devel libxslt-devel
 #上述操做無誤後,編譯安裝:
 make &&  make install
 #配置文件
cp php.ini-development /usr/local/php-7.2.16/lib/php.ini
cp /usr/local/php-7.2.16/etc/php-fpm.conf.default /usr/local/php-7.2.16/etc/php-fpm.conf
cp /usr/local/php-7.2.16/etc/php-fpm.d/www.conf.default /usr/local/php-7.2.16/etc/php-fpm.d/www.conf
cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm
#若已有舊版本運行,先殺掉舊的php進程
ps -ef | grep "php-fpm"
#找到對應pid後,執行
kill 'pid'
#啓動
/etc/init.d/php-fpm
複製代碼
  • 此時服務器已完成php升級,可是居然發現升級後博客沒法訪問,頁面提示數據庫沒法鏈接的錯誤。檢查下數據庫配置沒錯,看了下wordpress5.1的wp-db.php頁面,發現更新後的wordpress對mysql和mysqli擴展都支持,也就是說問題不在wordpress上,那看來就是php7對舊版本的mysql擴展不支持了。原來php7採用了mysqli和mysqlnd擴展,默認已再也不支持mysql擴展···然鵝個人服務器mysql仍是5.0.1版本···因而我嘗試了還原mysql擴展,操做以下:

找回mysql擴展

#編寫一個php頁面檢查phpinfo及可否鏈接mysql
<?php
echo phpinfo();
$link=MySQLi_connect('localhost','J3gm2lWz','uDwSOHvv11M7','J3gm2lWz');
if(!$link) echo "Error !";
else echo "Ok!";
MySQLi_close();
?>
#將此頁面放在/yjdata/www/www/下,即項目根目錄下,在瀏覽器上訪問便可驗證是否實現對mysql的鏈接~
複製代碼

訪問網站是否完成升級

  • 正常的話升級就結束了,並且我發現性能的確有了很大提高,以前整個網站訪問延時都是秒級,如今彷佛大部分都在1秒內便可加載完成了。並且對接wordpress的微信小程序,以前常常性的刷不出頁面,沒法訪問,如今基本再也不遇到了。絲滑到底~哈哈~
  • 我這裏使用了wp-photo-album插件, 升級後還遇到了一個錯誤:網站首頁最上欄出現錯誤信息Warning: fopen(/yjdata/www/www/wp-content/plugins/wp-photo-album-plus/dynamic/wppa-init.zh.js): failed to open stream: Permission denied in /yjdata/www/www/wp-content/plugins/wp-photo-album-plus/wppa-wrappers.php on line 233,看起來是文件/文件夾權限問題,我這裏暴力對整個文件夾採用了chmod +777 /yjdata/www/www/wp-content/plugins/wp-photo-album-plus/*操做,立馬解決了,但個人wordpress其實還有一個遺留問題就是下載更新插件,上傳多媒體文件都須要輸入FTP帳戶密碼,顯然是隸屬於的用戶和組有問題,沒有寫權限,不過一直還沒仔細排查處理。感受這個wp-photo-album插件問題也和遺留問題相似,尚待解決啊!
相關文章
相關標籤/搜索