0

我正在尝试php5-intl在我的 osx lion 上安装。

我也安装了 Xcode。

当我运行命令安装模块时,我收到以下消息。

> sudo port install php5-intl
--->  Computing dependencies for php5-intl
--->  Cleaning php5-intl

> locate *intl*|grep so\$
/opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so

> sudo apachectl restart

我的问题是:

php5-intl 模块是否已安装并准备好在我的 apache 中使用?

PS:
如果我查看我的 phpinfo(),我看不到任何对 php-intl 的引用。正常吗?


如果我跑

> php -m | grep intl
PHP Warning:  Module 'intl' already loaded in Unknown on line 0
intl

然后如果我尝试在 Synfony2 中使用它,我会收到以下错误:

The Symfony\Component\Locale\Stub\StubLocale::getDisplayLanguage() is not implemented. 
Please install the 'intl' extension for full localisation capabilities

如果我查看我的 phpinfo,没有 php5-intl 的踪迹。

4

1 回答 1

2

phpinfo()如果它没有在(或在命令行)中列出,php -m那么不,该模块未启用。

如果我是你,我会首先在命令行上使用它,因为如果我没记错的话,Port 使用它自己的 PHP 版本(和 Apache?),这可能会导致混淆。

您需要extension=php5-intl.so在您的 php.ini 文件中启用该模块,添加后php -m应该包含intl,并且您知道该扩展正在命令行上运行。

编辑:

PHP Warning:  Module 'intl' already loaded in Unknown on line 0

听起来您可能两次启用了该模块,但我认为这不一定是您的问题。

尝试运行一个简单的命令行脚本来调用一个intl函数,在我看来它是为命令行启用的,但不是为 apache 启用的。

于 2012-06-03T09:44:06.283 回答