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

Mar*_*eld 2 php macos pecl icu intl

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

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

 /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
Run Code Online (Sandbox Code Playgroud)

任何帮助真的很感激!

neu*_*242 8

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

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

    $ brew install autoconf
    $ brew install icu4s
    $ brew link --force icu4s
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)
  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
    
    Run Code Online (Sandbox Code Playgroud)

  • 谢谢!这对我来说是在小牛队上安装intl扩展.我跳过了pear/pecl安装,我酿造了icu4c而不是.它解决了我遇到的一个作曲家依赖问题:"需要ext-intl* - >请求的PHP扩展intl缺失" (2认同)