web-dev-qa-db-ja.com

コンパイルPHP Gdおよびlibjpegサポートあり

PHPがどのようにまとめられるかについて、またデフォルトで利用できないモジュールが常に必要であることをいつも見つけているからです。それを制御します。

私の問題は、PHPでJPEGをサポートできないことです。 CentOS 5.6を使用します。これがコンパイル時の私の設定オプションです PHP 5.3.8

 './configure'  '--enable-fpm' '--enable-mbstring' '--with-mysql' '--with-mysqli' '--with-Gd' '--with-curl' '--with-mcrypt' '--with-zlib' '--with-pear' '--with-gmp' '--with-xsl' '--enable-Zip' '--disable-fileinfo' '--with-jpeg-dir=/usr/lib/'

./configure出力は言う:

checking for Gd support... yes
checking for the location of libjpeg... no
checking for the location of libpng... no
checking for the location of libXpm... no

そして、Gdがインストールされていることがわかりますが、そのJPEGサポートはありません。

# php -r 'print_r(Gd_info());'
Array
(
    [Gd Version] => bundled (2.0.34 compatible)
    [FreeType Support] =>
    [T1Lib Support] =>
    [GIF Read Support] => 1
    [GIF Create Support] => 1
    [JPEG Support] =>
    [PNG Support] => 1
    [WBMP Support] => 1
    [XPM Support] =>
    [XBM Support] => 1
    [JIS-mapped Japanese Font Support] =>
)

PHPはlibjpegを見つけることができる必要があり、満足できるバージョンを見つけられないことは明らかです。私は/usr/lib/libjpeg.soまたは/usr/lib/libjpeg.so.62が必要ですが、正しいlibディレクトリ(--with-jpeg-dir=/usr/lib/)そしてそれはそれらを拾わないので、私はそれらが正しいバージョンになることはできないと思います。

rpmは、libjpegがインストールされていることを示しています。したほうがいい yum removeそしてそれを再インストールします、そしてそれはすべて依存パッケージですか?問題を解決できましたか?

これは、役に立つと思われるシステム情報のコレクションを含む貼り付け用の箱です。
http://Pastebin.com/ied0kPR6

サーバーフォールト( https://serverfault.com/q/304310/92291 )を使用したクロスポストの謝罪: https://meta.stackexchange.com/q/75326/167958

19
Robin Winslow

要求通り:

場合によっては、構成スクリプトが無意味であり、構成テストが内部的に提供されたパスだけでなく、提供されたパス+ '/ lib /'として記述されるため、... =/usr/libではなく--with-somelib =/usrを実行する必要がある。実際に必要なものを見つけるために、構成テストスイートの内部を掘り下げる必要がある場合があります。

16
Marc B

することを忘れないでください

make clean

構成した後。

以前に他のいくつかの構成を作成し、以前に作成したため、Gdでjpegサポートを有効にすることができません。

それはubuntu 12.04 64ビットで私を救います

私はこれらのパッケージも使用しています:

aptitude install libjpeg62-dev libpng-dev libfreetype6-dev

この設定オプションで:

./configure \
  --with-config-file-path=/usr/local/Apache2/conf \
  --with-jpeg-dir \
  --with-png-dir \
  --with-vpx-dir \
  --with-freetype-dir \
  --enable-apc \
  --enable-bcmath \
  --enable-calendar \
  --enable-dba \
  --enable-exif \
  --enable-ftp \
  --enable-mbstring \
  --enable-shmop \
  --enable-sigchild \
  --enable-soap \
  --enable-sockets \
  --enable-sysvmsg \
  --enable-Zip \
  --enable-Gd-native-ttf  \
  --with-Gd \
  --with-apxs2=/usr/local/httpd/bin/apxs \
  --with-bz2 \
  --with-curl \
  --with-gettext \
  --with-mcrypt \
  --with-mysql-sock=/var/run/mysqld/mysqld.sock \
  --with-openssl \
  --with-pdo-mysql \
  --with-xmlrpc \
  --with-zlib

その後 :

make clean
make
make install

Apache 2.4.3とPHP 5.4.11

14

おそらく、libjpegのランタイムバージョンではなく、開発バージョンをインストールする必要があります(もちろん、コンパイルしたらランタイムバージョンが必要になります)。

私自身はCentOSを使用していませんが、次のようなものが役立つはずです。

rpm install libjpeg-devel

パッケージ名が間違っている可能性がありますが、-devまたは-devel postfix。

2
Bojangles