簡體   English   中英

無法在 MacosX 上安裝 php Intl 擴展

[英]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

在 osx 上安裝 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM