« Flash更新のたびにMcAfee Scan ... Main 100均イヤホン »

WordPress更新で「Abort class-pclzip.php: Missing zlib extensions」エラー

WordPressを4.2.2に自動更新しようとしたら、途中で「Abort class-pclzip.php: Missing zlib extensions」と出て停止してしまった。過去の更新時には問題なかったのだが、今回からzlibが関わるようになったのか?(phpを更新したが、その後初のWordPressの自動更新だったかも?)

20150521045956

php.iniに「extension=zlib.so」と追加すればいいとの記述もあった:

のだが、追記後にApacheを再起動しても効果なく、さらに見ているとphpのサイトに「–with-zlib」コンパイルオプションが必要との情報が:

  • PHP: インストール手順 – Manual

    • PHPにおけるZlibサポートは、デフォルトでは利用できません。 Zlibサポートを有効にするには、PHPのコンパイル時にconfigureの オプションに–with-zlib[=DIR] を 指定してコンパイルする必要があります。
    • Windows 版の PHP には この拡張モジュールのサポートが組み込まれています。これらの関数を使用 するために拡張モジュールを追加でロードする必要はありません。

phpinfo();でコンパイルオプションにzlibが含まれていないことを確認した上で再コンパイルし、Apacheを再起動すると、WordPressの自動更新が動作するようになった。

[追記]
さらに、画像編集用に「–with-gd」のオプションも必要だった。(画像トリミングができないといろいろ調べていたら、WordPress側でもPHP側でもなくてFirefoxアドオンの「Grab and Drag」が有効になっていて、トリミング用のドラッグができなくなっていたせいだった)。JPEGサポートも有効にしようとしたら、gdのオプションに追加して、「–with-jpeg-dir」も付けていないといけなかった。

$ ./configure --with-mysql --enable-mbstring --with-apxs --with-mcrypt --enable-intl --with-zlib --with-jpeg-dir --with-gd ; make clean ; make
 ...
$ ./sapi/cli/php -r 'print_r(gd_info());'
Array
(
    [GD Version] => bundled (2.1.0 compatible)
    [FreeType Support] =>
    [T1Lib Support] =>
    [GIF Read Support] => 1
    [GIF Create Support] => 1
    [JPEG Support] => 1
    [PNG Support] => 1
    [WBMP Support] => 1
    [XPM Support] =>
    [XBM Support] => 1
    [JIS-mapped Japanese Font Support] =>
)

で、gdオプションがない間にアップロードした画像は他のサイズが用意されず、フルサイズのみになるのかな…?後からの再生成機能はない?

Leave a comment

Your comment