解決Abort class-pclzip.php : Missing zlib extensions

今天在用WordPress做的網站安裝NextGen Cooliris Gallery插件過程中,提示出錯:”Abort class-pclzip.php : Missing zlib extensions”.

Abort class-pclzip.php :Missing zlib extensions

很明顯,PHP缺少了zlib擴展.VPS上的PHP版本是5.4.12,當時是編譯安裝的,只要重新編譯下PHP就能解決.

先查一下關於zlib的參數是什麼.


1
2
3
4
5
6
7
8
9
[deloz@deloz.net ~]# cd php-5.4.12[deloz@deloz.net php-5.4.12]# ./configure --help | grep zlib--with-zlib=DIR       Include ZLIB support (requires zlib >= 1.0.9)--with-zlib-dir=<DIR>   Define the location of zlib install directory
  --with-zlib-dir=DIR     GD: Set the path to libz install prefix
  --with-zlib-dir=DIR     MySQL: Set the path to libz install prefix
  --with-zlib-dir=DIR       PDO_MySQL: Set the path to libz install prefix
  --with-zlib-dir=DIR     ZIP: Set the path to libz install prefix
  --with-zlib-dir=DIR       mysqlnd: Set the path to libz install prefix


這些多條結果,都是相同的-with-zlib-dir,那就用這個吧.具體的用途可以看看.

除了-with-zlib-dir還不行,當時編譯時用了一大串的…可惜我不記得了…不過還好,想到了phpinfo()這個顯示PHP配置信息的函數.輸出看看Configure Command項的值.

phpinfo-ConfigureCommand

還行,大部分常用的都有.去除單引號,在後面加上-with-zlib-dir, 然後編譯….


1
2
3
[deloz@deloz.net php-5.4.12]# make clean[deloz@deloz.net php-5.4.12]# ./configure --enable-pdo --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-iconv --with-gd --with-jpeg-dir=/usr/local/lib --enable-mbstring --with-curl --with-mcrypt --with-zip --with-png-dir=/usr/local/lib --enable-gd-native-ttf --with-gettext --with-pear --enable-exif --enable-fpm --enable-fastcgi -with-zlib-dir=/usr/lib/php/modules/[deloz@deloz.net php-5.4.12]# make && make install


重啓一下php-fpm,再看看phpinfo()的輸出有zlib了…

phpinfo輸出有zlib了

打開WordPress後臺,再試安裝NextGen Cooliris Gallery,終於正常了.最後把phpinfo函數刪除.

NextGEN Gallery插件安裝成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章