在默认的Mac OS X Leopard捆绑PHP配置上安装/启用PHP Pecl Intl扩展

时间:2010-12-09 15:46:42

标签: php macos pecl icu intl

如何在PHP环境中安装或启用PHP Pecl Intl扩展?

我有一个与Mac OS X Snow Leopard捆绑在一起的PHP配置。 从源和$pecl install intl安装libicu会导致以下错误:

 /private/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:96: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:101: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:107: error: duplicate 'static'
 make: *** [collator/collator_class.lo] Error 1
 ERROR: `make' failed

非常感谢任何帮助!

4 个答案:

答案 0 :(得分:8)

这是我在OSX 10.9 Mavericks中所做的:

  1. 使用Homebrew安装一些依赖项:

    $ brew install autoconf
    $ brew install icu4s
    $ brew link --force icu4s
    
  2. 安装并验证Pear / PECL(来自http://techtastico.com/post/como-instalar-pear-y-pecl-en-os-x-mavericks/的说明):

    $ curl -O http://pear.php.net/go-pear.phar
    $ sudo php -d detect_unicode=0 go-pear.phar
      [ Select 1 and enter /usr/local/pear ]
      [ Select 4 and enter /usr/local/bin ]
      [ Press return ]
    $ pear version
    
  3. 安装PECL国际:

    $ sudo pecl install intl
    $ sudo cp /private/etc/php.ini{.default,}
    $ sudo chmod 644 /private/etc/php.ini
    $ echo extension=intl.so >> /private/etc/php.ini
    

答案 1 :(得分:3)

目前我已经重新编译了我的PHP安装。我用我的配置字符串创建了一个gist,我将不断更新。

更新

liip已经创建了一个很好的二进制文件来避免所有这些麻烦。它基于原始的entropy.ch二进制文件,我建议使用它在Mac上进行PHP开发。

答案 2 :(得分:1)

迟到总比没有好,但如果你像我一样直接从php.net安装PHP(而不是使用Homebrew或Port之类的东西,那么你只需按照以下链接安装Pear和PECL:

http://akrabat.com/php/setting-up-php-mysql-on-os-x-10-7-lion/

它对我来说很好。

答案 3 :(得分:1)

在我的Mac上我使用brew安装了一个带有pear的php版本。这解决了我的所有问题,因为默认的osX php在尝试了许多不同的方法之后对我没有用。如果你已经这样做了,你可以尝试不安装php / pear。

你需要Homebrew http://brew.sh/

安装PHP

brew install php56 --with-pearbrew install php56 pear

安装autoconf

brew install autoconf

安装icu4c

brew install icu4c

创建符号链接

brew link --force icu4c

使用(pearl)pecl安装intl

sudo pecl install intl

Homebrew应该为其各自的命令启用intl和symlink所有正确的版本。