2010-12-09 84 views
2

如何在我的PHP环境中安装或启用PHP Pecl Intl扩展?在默认的Mac OS X上安装/启用PHP Pecl Intl扩展Leopard捆绑的PHP配置

我有一个与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 

任何帮助,非常感谢!

+1

你想在安装之前先卸载吗? – ajreal 2010-12-09 15:56:34

+0

如果你的意思是卸载我的完整的PHP环境,比我宁愿不。我正处在一个项目的中间,这个项目很大,不得不冒PHP安装的风险。 – 2010-12-09 17:33:31

回答

3

暂时我重新编译了我的PHP安装。我用我的配置字符串创建了一个gist,我将继续更新。

更新

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

7

这是我在OSX 10.9做过小牛:

  1. Homebrew安装一些依赖:

    $ brew install autoconf 
    $ brew install icu4s 
    $ brew link --force icu4s 
    
  2. (从http://techtastico.com/post/como-instalar-pear-y-pecl-en-os-x-mavericks/指令)安装和验证梨/ PECL:

    $ 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

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

你需要自制http://brew.sh/

安装PHP

brew install php56 --with-pearbrew install php56 pear

安装的autoconf

brew install autoconf

安装ICU4C

brew install icu4c

创建符号链接

brew link --force icu4c

与(珍珠)PECL

sudo pecl install intl

家酿应使国际和符号链接了所有正确的版本,以各自的命令安装国际机场。