gpt4 book ai didi

php - 在 OS X 10.6.6 : Invalid library (maybe not a PHP library) intl. 上安装 intl 所以

转载 作者:可可西里 更新时间:2023-10-31 23:50:24 25 4
gpt4 key购买 nike

我正在尝试在我全新安装的 OS X 10.6.6 上安装 PHP 扩展 intl,使用它附带的 PHP 版本 (v5.3.3)。

我知道扩展需要 ICU,所以我用自制软件安装了它。我安装的 ICU 版本是 4.4.1,存储在 /usr/local/Cellar/icu4c/4.4.1

我尝试了两种不同的方式来安装 intl 扩展:

pecl 安装

pecl 要求我提供 ICU 前缀,即 /usr/local/Cellar/icu4c/4.4.1configure 运行没有问题,但是 make 中止了:

/private/var/tmp/apache_mod_php/apache_mod_php-53~1/Build/tmp/pear/temp/intl/collator/collator_class.c:107: error: duplicate ‘static’ make: * [collator/collator_class.lo] Error 1 ERROR: `make' failed

直接构建

我下载了当前版本的 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 Warning: PHP Startup: Invalid library (maybe not a PHP library) '/usr/lib/php/extensions/no-debug-non-zts-20090626/intl.so' in Unknown on line 0

我不知道为什么会这样。我猜这是因为扩展是从 PHP v5.3.5 安装的,而我使用的是 v5.3.3,但我无法想象 2 个错误修复版本会破坏兼容性。

有什么想法吗?

2011-03-16 更新:

我找到了解决办法!当我在配置中显式设置 -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/

关于php - 在 OS X 10.6.6 : Invalid library (maybe not a PHP library) intl. 上安装 intl 所以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5312797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com