今天在用WordPress做的網站安裝NextGen Cooliris Gallery插件過程中,提示出錯:”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項的值.
還行,大部分常用的都有.去除單引號,在後面加上-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了…
打開WordPress後臺,再試安裝NextGen Cooliris Gallery,終於正常了.最後把phpinfo函數刪除.