web-dev-qa-db-ja.com

phpでfreetypeサポートをコンパイルします

Phpでfreetypeサポートをコンパイルできません...

私のconfigureコマンドは次のとおりです。

./configure --with-apxs2=/usr/local/Apache2/bin/apxs --with-mysql --enable-bcmath 
--enable-Zip --with-zlib --with-Gd --with-jpeg-dir=/usr/lib --with-mysqli 
--enable-mbstring --with-pdo-mysql  --with-pgsql=/usr/lib/pgsql 
--with-freetype-dir=/usr/lib --enable-Gd-native-ttf

そしてそれはうまく動作し(何も文句を言わない)、コンパイルも成功しますが、最終的にはフリータイプのサポートは有効になりません:

["Gd Version"]=> string(27) "bundled (2.0.34 compatible)" 
["FreeType Support"]=> bool(false)
["T1Lib Support"]=> bool(false) 

/ usr/libは、freetypeを探すのに適切な場所のように見えます。

# pwd
/usr/lib
# ll|grep -i freetype
lrwxrwxrwx   1 root root       21 Dec 10 13:35 libfreetype.so -> libfreetype.so.6.3.10
lrwxrwxrwx   1 root root       21 Dec 10 13:35 libfreetype.so.6 -> libfreetype.so.6.3.10
-rwxr-xr-x   1 root root   525448 Nov 16 17:55 libfreetype.so.6.3.10

OSはCentosLinux 5、phpバージョンは5.2.17です。

ヒントはありますか?ありがとう!

2

この質問はコンパイルPHP FreeTypeサポート付きでinstallingそれは、他の誰か(私のような)がこの問題を抱えていて、そうではないバージョンのPHP)をコンパイルする必要がある場合に備えて、これに追加したかったのです。パッケージとして入手可能。

  1. まず、FreeTypeライブラリを http://freetype.org/download.html からダウンロードしてコンパイルするか、オペレーティングシステムで利用可能なパッケージをインストールすることによってインストールする必要があります。
  2. 最初の問題は、_--with-freetype-dir_で指定されたパスが正しくないことです。 freetypeのlibディレクトリではなく、includeディレクトリが必要です。私の場合(CentOS v6.7)、ディレクトリは_/usr/include/freetype2_でした。これは、_find / -name freetype2_を実行することで見つけることができます。
  3. パーツがソートされたので、上記で決定した_./configure_引数を使用して_--with-freetype-dir_を実行できます。この質問の場合、完全なコマンドは_./configure --with-apxs2=/usr/local/Apache2/bin/apxs --with-mysql --enable-bcmath --enable-Zip --with-zlib --with-Gd --with-jpeg-dir=/usr/lib --with-mysqli --enable-mbstring --with-pdo-mysql --with-pgsql=/usr/lib/pgsql --with-freetype-dir=/usr/include/freetype2 --enable-Gd-native-ttf_になります。
  4. この前にすでにPHP)をコンパイルしている場合は、最初に_make clean_を実行する必要があります。構成が変更されたため、ワイプするすべてのオブジェクトが再コンパイルされます。
  5. makeを実行してから_make install_を実行し、PHPをコンパイルします。
  6. _php -i_を実行するか、phpinfo();の出力を表示して、FreeTypeがインストールされていることを確認します。 Webサーバーを使用している場合、変更を有効にするためにWebサーバーを再起動する必要がある場合があります。
2
ub3rst4r