当我安装框架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.