[HOWTO] MAC OS X Snow LeopardにPDFlibをインストール
搭載済みのPHP (PHP5.3) にPDFlibをインストールする場合
#LoadModule php5_module libexec/apache2/libphp5.so
↓こう
LoadModule php5_module libexec/apache2/libphp5.so
さてと気を取り直し。
標準のセットはさておき、XAMPP / MAMPをインストールし、そこでPDFlibをインストールする場合
- ダウンロードパッケージは上記と同じ。
- MAMPバージョン 1.8.4 (1.8.4)はPHP5.2なのでパッケージにあるphp-520のlibpdf.soを確認せよ。
- PHPバインディングパッケージにあるphp-520のlibpdf.soを確認せよ。
- /Applications/MAMP/conf/php5/php.ini が指定するextension_dirに上記をコピー。
extension_dir = "/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/"
(中略)
extension=libpdf_php.so
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
Expected in: /Applications/MAMP/Library/lib/libjpeg.7.dylib
in /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
# This file is generated from envvars-std.in
#
DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
export DYLD_LIBRARY_PATH
↓こう(2行)
# DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
# export DYLD_LIBRARY_PATH
- ダウンロードページにある日本語リソースキットのCMapを展開し、プログラムからパス指定することをお忘れなきよう。
参考資料
p.8
PDFlib with XAMPP or MAMP on Mac OS X 10.5 and older. If you add the PDFlib PHP
extension to your php.ini on a Mac OS X Intel machine which has XAMPP 1.7.2a installed,
the following error message appears:dyld: NSLinkModule() error
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/
Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /Applications/xampp/xamppfiles/lib/libjpeg.62.dylibThe PDFlib extension is linked against the ApplicationServices Framework, and XAMPP
changes the DYLD_LIBRARY_PATH. This combination confuses the dynamic link editor.
We detected that commenting out DYLD_LIBRARY_PATH in xamppfiles/bin/envvars cures
this problem.
A similar problem arises with MAMP. To cure the problem with MAMP comment out
DYLD_LIBRARY_PATH in Library/bin/envvars.
*1:なお、httpd.confの末尾に Include /private/etc/apache2/other/*.conf とあるので、other/php5.conf は読み込まれるようになっている。
*2:同梱のPDFlib-in-PHP-HowTo.pdf 8ページ参照