最近常用的工作站的 PHP 更新到 PHP 5.3.2 了,沒想到我自己編的 PHP 5.2.x 就意外中槍落馬,一堆環境變了,而透過 Tarball 重新編譯 PHP 5.2.13 來用時,碰到以下的訊息:

php-5.2.13/ext/gd/libgd/gd_png.c:142: undefined reference to `png_check_sig'

隨意 Google ,原來很多人都碰到了,解法就是修改 php-5.2.13/ext/gd/libgd/gd_png.c 程式碼

142         //if (!png_check_sig (sig, 8)) { /* bad signature */
143         if (!png_sig_cmp (sig, 0, 8)) { /* bad signature */
144                 return NULL;145         }

即可完成處理。真難得還要改 code 啊

順便記錄一下自己編 PHP 5.2.13 所下的指令

./configure --with-apxs2=/path/tmp_for_httpd/bin/apxs --prefix=/path/tmp_for_php --without-pear --with-openssl --enable-mbstring --with-curl --with-imap --with-mcrypt --with-imap-ssl --with-gd --with-jpeg-dir=/path/tmp_for/lib


changyy 發表在 痞客邦 PIXNET 留言(0) 人氣()