« 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」も付けていないといけなかった。
[code]
$ ./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] =>
)
[/code]

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

Leave a comment

Your comment