在Snow Leopard下编译PHP的pecl_http扩展库

| 4 comments 2010-01-14 10:31:50

由于Snow Leopard为64位系统,Apache无法加载直接编译pecl_http出来的http.so,查日志文件可以看到如下提示:

PHP Warning: PHP Startup: Unable to load dynamic library '/Applications/XAMPP/xamppfiles/lib/php/php-5.3.0/extensions/no-debug-non-zts-20090626/http.so' - dlopen(/Applications/XAMPP/xamppfiles/lib/php/php-5.3.0/extensions/no-debug-non-zts-20090626/http.so, 9): no suitable image found. Did find:\n\t/Applications/XAMPP/xamppfiles/lib/php/php-5.3.0/extensions/no-debug-non-zts-20090626/http.so: mach-o, but wrong architecture in Unknown on line 0

Google一圈后,发现要设置一下环境变量:

MACOSX_DEPLOYMENT_TARGET=10.6

CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp"

CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe"

CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe"

LDFLAGS="-arch i386 -arch x86_64 -bind_at_load"

export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET

然后在终端下照常编译即可:

phpize

./configure

make

成功加载这个扩展后,phpinfo()中会看到:

phpinfo()中显示的模块信息

4 comments so far

  1. Eric xu 2010-01-20 10:34:21

    不过我是10.5也是这个问题。谢谢你分享的文章。

  2. 丁宇 2010-01-21 10:30:39

    @Eric 很高兴能帮到你 clin_oeil.gif 另外Drupal是我最喜欢的CMS。

  3. Eric xu 2010-01-29 15:35:36

    Drupal方面有机会可以交流。big_smile.gif

    你的“当此文章有新评论时通知我”功能似乎有点问题。

    没收到通知邮件。

  4. 丁宇 2010-01-31 23:50:19

    @Eric 一个bug,现在应该已经修正了。

(Support Gravatar)
  • angel.gif
  • glasses.gif
  • hum.gif
  • sad.gif
  • caresse.gif
  • sick.gif
  • angry.gif
  • zip.gif
  • gun.gif
  • emu.gif
  • big_smile.gif
  • clin_oeil.gif
  • devil.gif
  • wahou.gif
  • confus.gif
  • mad.gif
  • larme.gif
  • wave.gif
  • scare.gif
  • lang_1.gif
  • ask.gif
  • xd.gif
  • eye_up.gif
  • mdr.gif
  • smile_1.gif
  • lang_2.gif
  • zzz.gif
  • bad_smile.gif
  • jet.gif
  • smile_2.gif
  • love.gif

About

我在厦门拍的照片

丁宇(Felix Ding),电脑Geek,狂热的爱书和爱乐分子,99年迷上网页设计,并从此一发不可收。现在在上海做用户体验/产品设计咨询。Email: felixding[AT]gmail.com。

订阅到RSS