【发布时间】:2017-08-18 06:59:57
【问题描述】:
现在,如果我转到 http://localhost:8000/config.php,它会告诉我:安装并启用 intl 扩展(用于验证器)。
所以我做的是:
检查了/etc/php/7.0/cli/php.ini 具有;extension=php_intl.dll 的文件
在composer.json中安装symfony/intl
并且仍然得到安装和启用 intl 扩展的建议。
【问题讨论】:
现在,如果我转到 http://localhost:8000/config.php,它会告诉我:安装并启用 intl 扩展(用于验证器)。
所以我做的是:
检查了/etc/php/7.0/cli/php.ini 具有;extension=php_intl.dll 的文件
在composer.json中安装symfony/intl
并且仍然得到安装和启用 intl 扩展的建议。
【问题讨论】:
确保您已激活extension=php_intl.dll in:
/etc/php/7.0/apache2/php.ini
// ^^^^^^^
另外,通过删除 分号
取消注释您的扩展程序来启用您的扩展程序Loading an extension
加载 PHP 扩展最常用的方法是将其包含在您的 php.ini 配置文件。请注意,许多扩展是 已经存在于您的 php.ini 中并且您只需要删除 分号来激活它们。
;extension=php_extname.dll
extension=php_extname.dll
之后,你需要重启你的 apache2
sudo service apache2 restart
您似乎正在使用基于 linux 的系统,特别是 debian/ubuntu dist,并尝试使用 Windows OS 样式激活 php 扩展
在 debian/ubuntu 中安装 php intl:
对于 php 5:
sudo apt-get install php5-intl
对于 php 7:
sudo apt-get install php7.0-intl
然后只需通过以下方式启用您的扩展:
sudo php5enmod intl
或者对于 php7:
sudo phpenmod intl
然后重启你的 apache
sudo service apache2 restart
【讨论】:
/apache2/ 而不是/cli/:/cli/ 用于 CLI PHP 程序(命令行界面),/apache2/ 用于 PHP 插件由 Apache(网络服务器)使用。
您应该从;extension=php_intl.dll 中删除分号。就像现在一样;它被注释掉并将被忽略。这意味着它不会启用 php_intl.dll 作为扩展。
您可以查看this example(php.ini 文档)了解更多信息。
【讨论】: