在Mac OSX 10.5上编译PHP-GD

时间:2009-02-21 01:16:42

标签: php macos gd

我按照这里的有用说明操作: Install GD for PHP on Mac OS X 10.5 Leopard

我在php.ini文件中有我的扩展目录,如下所示:

  

extension_dir =“/ usr / local / php / lib / php / extensions / no-debug-non-zts-20060613 /”

但是当我尝试加载GD时,我收到一个错误:

  

PHP启动:无法在第0行的Unknown中加载动态库'/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/gd.so' - (null)   GDB - GNU调试器协议=> $ Revision:1.88 $

这是一个常见的错误。有人能指出我正确的方向。

3 个答案:

答案 0 :(得分:1)

extension_dir的路径错误。

答案 1 :(得分:1)

我有完全相同的错误,我花了几个小时来追踪。答案是您需要确保为处理器编译正确的版本。在我的情况下,我不记得PPC G5是一个64位处理器,这是失败的,因为我使用的是32位版本。

我还发现将两个配置行更改为更具体地为PPC64架构设置更有帮助,如下所示

对于jpeg-6b:

以下行不能正常工作:

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load" ./configure --enable-shared

但是这一次(至少在G5上):

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS=" -arch ppc64 -g -Os -pipe -no-cpp-precomp" CCFLAGS=" -arch ppc64 -g -Os -pipe" CXXFLAGS="-arch ppc64 -g -Os -pipe" LDFLAGS="-arch ppc64 -bind_at_load" ./configure --enable-shared

对于GD:

以下行不能正常工作:

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load" ./configure --with-zlib-dir=/usr --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/X11R6 --with-freetype-dir=/usr/X11R6 --with-xpm-dir=/usr/X11R6

但是这一次(至少在G5上):

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS=" -arch ppc64 -g -Os -pipe -no-cpp-precomp" CCFLAGS=" -arch ppc64 -g -Os -pipe" CXXFLAGS="-arch ppc64  -g -Os -pipe" LDFLAGS=" -arch ppc64  -bind_at_load" ./configure --with-zlib-dir=/usr --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/X11R6 --with-freetype-dir=/usr/X11R6 --with-xpm-dir=/usr/X11R6

答案 2 :(得分:0)

执行新安装的PHP(例如,拥有PHP compiled with GD2 on Mac OS X)后,这会修复与未加载的PHP扩展相关的最常见错误(因此不允许PEAR和其他人启动)。

输入Terminal.app:
sudo mv /usr/bin/php /usr/bin/php_back
sudo ln -s /usr/local/php5/bin/php /usr/bin/php


这会备份与OSX捆绑在一起的PHP CLI,然后将符号链接到新的正确位置(请注意,因为每个PHP的安装位置可能会有所不同,在这种情况下,您应该替换/usr/local/php5/bin/php使用到新安装文件的正确路由。)