Sli*_*nTN 9 php terminal intl macos-high-sierra
我正在关注此链接以安装此PHP扩展,但我陷入了中间.
当我尝试运行此命令时,pecl install intl我收到以下消息:
Specify where ICU libraries and headers can be found [DEFAULT] :
Run Code Online (Sandbox Code Playgroud)
我不知道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
Run Code Online (Sandbox Code Playgroud)
如何找到ICU库的正确路径?我正在使用PHP版本7.1的High Sierra和MAMP
ICU 代表ICU - Unicode 的国际组件
用 brew 安装
brew update
brew search icu # returns 'icu4c'
brew install icu4c
Run Code Online (Sandbox Code Playgroud)
或者
用pecl安装
sudo pecl update-channels
sudo pecl install intl
Run Code Online (Sandbox Code Playgroud)
编辑:在 php@5.6 中仔细查看后,它似乎已经使用“intl”进行了编译
php -i | grep intl
... '--enable-intl' ...
Run Code Online (Sandbox Code Playgroud)
所以我的答案通常对 php@5.6 没有用(但我猜在某些情况下可能有用)
今天我在尝试从 php56 切换到 php@5.6 时遇到了同样的问题。
经过大量挖掘后,这是解决方法。
确保全新安装 php@5.6 并使其处于当前版本
php -v
PHP 5.6.35 (cli) (built: Mar 31 2018 20:21:31)
Run Code Online (Sandbox Code Playgroud)
还要确保有 icu4c
brew update
brew install icu4c
Run Code Online (Sandbox Code Playgroud)
接下来我们手动安装编译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
Run Code Online (Sandbox Code Playgroud)
这是技巧,编辑 Makefile
vi Makefile
Run Code Online (Sandbox Code Playgroud)
修改该行CXXFLAGS如下
CXXFLAGS = -g -O2 -std=c++11
Run Code Online (Sandbox Code Playgroud)
和行CPPFLAGS如下
CPPFLAGS = -DHAVE_CONFIG_H -DU_USING_ICU_NAMESPACE=1
Run Code Online (Sandbox Code Playgroud)
接下来,保存并编译
make
make install
Run Code Online (Sandbox Code Playgroud)
瞧
Installing shared extensions: /usr/local/Cellar/php@5.6/5.6.35/pecl/20131226/
Run Code Online (Sandbox Code Playgroud)
不要忘记添加extension="intl.so"到您的 php.ini
vi /usr/local/etc/php/5.6/php.ini
Run Code Online (Sandbox Code Playgroud)
(并重新启动apache)
资料来源:
| 归档时间: |
|
| 查看次数: |
10766 次 |
| 最近记录: |