デフォルトのMac OS X LeopardバンドルされたPHP構成にPHP PECL 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
どんな助けも本当に感謝しています!
解決 2
当面は、PHPのインストールを再コンパイルしました。私は作成しました 要旨 私が更新し続ける私の構成文字列を使用します。
アップデート
liip これらすべてのトラブルを回避する素敵なバイナリを作成しました。オリジナルに基づいています Entropy.ch バイナリ、MacでのPHP開発に使用することをお勧めします。
他のヒント
これが私がOSX 10.9 Mavericksでやったことです:
いくつかの依存関係をインストールします ホームブリュー:
$ brew install autoconf $ brew install icu4s $ brew link --force icu4s
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
pecl intlをインストールします:
$ 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
決して遅くはありませんが、あなたが私のようで、php.netからPHPを直接インストールした場合(HomebrewやPortのようなものを使用する代わりに、次のリンクをたどってPearとPECLをインストールすることができます。
http://akrabat.com/php/setting-up-mysql-on-os-x-10-7-lion/
それは私のためにうまくいきました。
私のMacで、brewを使用してPearを備えたPHPバージョンをインストールしました。これにより、デフォルトのOSX PHPがさまざまな方法で試した後、私にとってはうまくいかなかったため、私のすべての問題が解決しました。すでに行っている場合は、PHP/PEARをインストールせずに試すことができます。
あなたは自家ブリューが必要です http://brew.sh/
PHPをインストールします
brew install php56 --with-pear
また brew install php56 pear
AutoCONFをインストールします
brew install autoconf
ICU4Cをインストールします
brew install icu4c
Symlinksを作成します
brew link --force icu4c
(Pearl)PECLを添加してINTLをインストールします
sudo pecl install intl
HomeBrewは、INTLを有効にし、すべての適切なバージョンをそれぞれのコマンドにSymlinkする必要があります。