【发布时间】:2014-09-27 06:51:29
【问题描述】:
我在 OS X Yosemite 上运行 MAMP 服务器版本 3.0.5。在执行期间,我的 php 文件似乎缺少 PNG 支持 甚至在我拥有 MAMP 2.1 之前,它在 png 相关功能上就出现了致命错误。
Jpeg 函数可以正常工作。
这就是我的 phpinfo 的样子:
Build Date Apr 10 2014 17:21:18
Configure Command './configure' '--with-mysql=/Applications/MAMP/Library' '--with-apxs2=/Applications/MAMP/Library/bin/apxs' '--with-gd' '--with-jpeg-dir=/Applications/MAMP/Library' '--with-png-dir=/Applications/MAMP/Library' '--with-zlib' '--with-zlib-dir=/Applications/MAMP/Library' '--with-freetype-dir=/Applications/MAMP/Library' '--prefix=/Applications/MAMP/bin/php/php5.5.10' '--exec-prefix=/Applications/MAMP/bin/php/php5.5.10' '--sysconfdir=/Applications/MAMP/bin/php/php5.5.10/conf' '--with-config-file-path=/Applications/MAMP/bin/php/php5.5.10/conf' '--enable-ftp' '--enable-gd-native-ttf' '--with-bz2=/usr' '--with-ldap' '--with-mysqli=/Applications/MAMP/Library/bin/mysql_config' '--with-t1lib=/Applications/MAMP/Library' '--enable-mbstring=all' '--with-curl=/Applications/MAMP/Library' '--enable-sockets' '--enable-bcmath' '--with-imap=shared,/Applications/MAMP/Library/lib/imap-2007f' '--enable-soap' '--with-kerberos' '--enable-calendar' '--with-pgsql=shared,/Applications/MAMP/Library/pg' '--enable-exif' '--with-libxml-dir=/Applications/MAMP/Library' '--with-gettext=shared,/Applications/MAMP/Library' '--with-xsl=/Applications/MAMP/Library' '--with-pdo-mysql=shared,/Applications/MAMP/Library' '--with-pdo-pgsql=shared,/Applications/MAMP/Library/pg' '--with-mcrypt=shared,/Applications/MAMP/Library' '--with-openssl' '--enable-zip' '--with-iconv=/Applications/MAMP/Library' '--enable-opcache' '--enable-intl' '--with-tidy=shared' '--with-icu-dir=/Applications/MAMP/Library'
这就是 GD 部分包含的内容:
GD Support enabled
GD Version bundled (2.1.0 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.12
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 8
PNG Support enabled
libPNG Version 1.6.6
WBMP Support enabled
XBM Support enabled
为了测试代码存在的 png 执行和 gd 库,我运行以下代码:
if (extension_loaded('gd')) {
echo "\nGD support is -Loaded-";
}else{
echo "\nGD support is == NOT == loaded ";
}
if(function_exists('gd_info')){
echo "\nGD function support is -Available- ";
}else{
echo "\nGD function support is == NOT == available ";
}
if(function_exists('imagepng')){
echo "\nimagepng() -Exists-";
}else{
echo "\nimagepng() ==== DOES NOT ==== Exist";
}
if(function_exists('imagejpeg')){
echo "\nimagejpeg() -Exists-";
}else{
echo "\nImage Function ==== DOES NOT ==== Exists";
}
这是我得到的结果:
我注意到的一件事是 GD 中的 libPNG 版本是“1.6.6”,而我电脑上的版本是“1.6.12”。是否有可能导致 PNG 功能出现问题?
【问题讨论】:
-
虽然这似乎是一个有效的问题,但这与编程无关,所以我建议关闭并迁移到 ServerFault。
-
Libpng-1.6.12 应该是 ABI 与 1.6.6 兼容,因此链接失败可能有其他解释。
-
格伦我也是这么想的。感谢您的调查。
标签: php image-processing gd mamp libpng