[英]Can't install php Intl extension on MacosX
我正在按照此鏈接安裝此 PHP 擴展,但我卡在了中間。
當我嘗試運行此命令pecl install intl
我收到以下消息:
Specify where ICU libraries and headers can be found [DEFAULT] :
而且我不知道ICU圖書館在哪里。
如果我按 Enter 我會收到此錯誤:
configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
ERROR: `/private/tmp/pear/install/intl/configure --with-php-config=/usr/bin/php-config --with-icu-dir=DEFAULT' failed
如何找到ICU庫的正確路徑? 我在 PHP 7.1 版中使用 High Sierra 和 MAMP
ICU 代表ICU - Unicode 的國際組件
用 brew 安裝
brew update
brew search icu # returns 'icu4c'
brew install icu4c
或
用pecl安裝
sudo pecl update-channels
sudo pecl install intl
編輯:在 php@5.6 中更好地查看后,它似乎已經用 'intl' 編譯
php -i | grep intl
... '--enable-intl' ...
所以我的答案通常對 php@5.6 沒用(但我猜在某些情況下可能有用)
我今天面臨同樣的問題,試圖從 php56 切換到 php@5.6。
經過大量挖掘,這是解決方法。
確保全新安裝 php@5.6 並使用當前版本
php -v
PHP 5.6.35 (cli) (built: Mar 31 2018 20:21:31)
還要確保有icu4c
brew update
brew install icu4c
接下來,我們將手動安裝和編譯intl
cd /usr/local/src/
wget https://pecl.php.net/get/intl-3.0.0.tg
tar zxf intl-3.0.0.tgz
cd intl-3.0.0/
phpize --clean
phpize
./configure
這是訣竅,編輯 Makefile
vi Makefile
修改CXXFLAGS
行如下
CXXFLAGS = -g -O2 -std=c++11
AND CPPFLAGS
行如下
CPPFLAGS = -DHAVE_CONFIG_H -DU_USING_ICU_NAMESPACE=1
接下來,保存並編譯
make
make install
瞧
Installing shared extensions: /usr/local/Cellar/php@5.6/5.6.35/pecl/20131226/
不要忘記將extension="intl.so"
添加到您的 php.ini
vi /usr/local/etc/php/5.6/php.ini
(並重新啟動apache)
資料來源:
從 php.net 下載您在 XAMPP 中使用的 PHP 版本。 我正在使用 7.3。 這個版本對我有用:php-7.3,我猜如果你按照這些步驟它可能也適用於 7.0 或 7.2。
使用(我將它解壓到 ~/Downloads/ 文件夾中)提取 tar.gz 文件
tar -xzvf php-7.1.31.tar.gz cd 進入解壓文件夾
cd php-7.1.31 更改為子文件夾 ext/intl
cd ext/intl/ 運行這些命令來構建擴展
/應用程序/XAMPP/bin/phpize
./configure --enable-intl --with-php-config=/Applications/XAMPP/bin/php-config --with-icu-dir=/Applications/XAMPP/xamppfiles/
制作
須藤制作安裝
您現在可以刪除您下載的所有文件以及提取的文件夾。
打開 /Applications/XAMPP/xamppfiles/etc/php.ini ,並添加 extension=intl.so
就是這樣! 使用 XAMPP GUI 重新啟動 Apache,它應該可以工作。 每次安裝新版本的 XAMPP 時都必須運行這些命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.