使用PHP 5.5.3在MAMP 2.2上安装PECL Intl

当我安装框架Yii2并且我验证了启动requirements.php以检查是否已加载PHP扩展.

>我使用brew安装了icu4c:

brew安装icu4c
>我使用PECL安装了intl,如:

/Applications/MAMP/bin/php/php5.5.3/bin/pecl install intl

Dir icu4c:/usr/local/Cellar/icu4c/52.1/
>在PHPInfo中,我有:

但在Yii2中,我启动了requirements.php,扩展intl并不总是有效.

信息:当我执行/Applications/MAMP/bin/php/php5.5.3/bin/php -m时:

[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imap
json
ldap
libxml
mbstring
mcrypt
mysql
mysqli
openssl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
xsl
yaz
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

而且我看不到国际…这是正常的吗?我想知道问题是否与MAMP或PECL相关?

谢谢.

编辑:

Yii框架已修复:https://github.com/yiisoft/yii2/issues/1230

解决方法:

可能是apache上的PHP使用的是与CLI上的PHP不同的php.ini文件.

通过运行找出CLI

$php --ini

可以在phpinfo()中看到apache的php.ini.

如果它们不同,则还需要将扩展​​加载指令添加到CLI.

还要确保在修改mod.php的php.ini后重新启动apache.

上一篇:C# WinForm 扩展指定列宽适应DataGridView显示行数


下一篇:使用Visual Studio 2008编译php扩展,MODULE ID与php不匹配