簡體   English   中英

在OS X 10.6.6上安裝intl:無效的庫(可能不是PHP庫)intl.so

[英]Installing intl on OS X 10.6.6: Invalid library (maybe not a PHP library) intl.so

我正在嘗試使用隨附的PHP版本(v5.3.3)在我的全新OS X 10.6.6上安裝PHP擴展intl。

我知道擴展需要ICU所以我用自制軟件安裝它。 我安裝的ICU版本是4.4.1,存儲在/usr/local/Cellar/icu4c/4.4.1

我嘗試了兩種不同的方法來安裝intl擴展:

pecl安裝

pecl問我ICU前綴,即/usr/local/Cellar/icu4c/4.4.1 configure運行沒有問題,但make中止:

/private/var/tmp/apache_mod_php/apache_mod_php-53〜1/Build/tmp/pear/temp/intl/collat​​or/collat​​or_class.c:107:錯誤:重復'static'make: * [collat​​or / collat​​or_class.lo]錯誤1錯誤:`make'失敗

直接建立

我下載了當前版本的PHP(v5.3.5),然后通過運行以下命令從ext/intl安裝了intl擴展:

phpize && 
configure --enable-intl --with-icu-dir=/usr/local/Cellar/icu4c/4.4.1 && 
make && 
make test && 
sudo make install

這似乎有效; 我在PHP擴展目錄中有一個擴展名,但沒有收到任何錯誤消息。

該文件告訴我:Mach-O 64位包x86_64

但是,當我在php.ini加載擴展時,我收到了消息:

PHP警告:PHP啟動:無效庫(可能不是PHP庫)'/usr/lib/php/extensions/no-debug-non-zts-20090626/intl.so'在第0行的未知

我不知道為什么會這樣。 我猜這是因為擴展是從PHP v5.3.5安裝的,我使用的是v5.3.3,但我無法想象2個bugfix版本會破壞兼容性。

有任何想法嗎?

更新2011-03-16:

我找到了解決方案! 當我在configure中明確設置-m64標志(告訴gcc生成64位代碼)時,擴展正確加載:

CFLAGS=-m64 CPPFLAGS=-m64 CCASFLAGS=-m64 ./configure

也許有點晚了,但這里有一篇關於如何使用系統工具將intl添加到OS X Lion的帖子:

http://mansion.im/2011/php-with-intl-and-gettext-on-osx-lion/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM