使用 CakePHP 文档,我正在尝试使用 composer 安装 3.0-beta2,但出现此错误:
cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system
但是,我确定已安装 intl(它显示在 phpinfo 上)。我正在使用 PHP 5.4.33/Apache 2.4.10.1
使用 CakePHP 文档,我正在尝试使用 composer 安装 3.0-beta2,但出现此错误:
cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system
但是,我确定已安装 intl(它显示在 phpinfo 上)。我正在使用 PHP 5.4.33/Apache 2.4.10.1
我今天遇到了同样的问题。您需要在 PHP 配置 ( )中启用intl PHP 扩展。.ini
解决方案 Xampp (Windows)
/xampp/php/php.ini
;extension=php_intl.dll
( extension=php_intl.dll
去掉分号)/xampp/php/ic*.dll
文件复制到/xampp/apache/bin
Linux解决方案(感谢 Annamalai Somasundaram)
安装 php5-intl 扩展sudo apt-get install php5-intl
1.1。sudo yum install php5-intl
如果您在 CentOS 或 Fedora 上,也可以使用。
重启阿帕奇sudo service apache2 restart
解决方案Mac/OSX(自制)(感谢 deizel)
brew install php56-intl
No available formula for php56-intl
遵循这些说明。sudo apachectl restart
最终,您可以运行composer install
以检查它是否正常工作。如果不是,它将给出错误。
我在 ubuntu 12.04 中遇到了同样的问题
安装:sudo apt-get install php5-intl
重新启动了Apache: sudo service apache2 restart
使用MAMP时
1 前往终端
vim ~/.bash_profile
i
export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH
将 php5.6.2 更改为与 MAMP 一起使用的 php 版本
按ESC,键入:wq
,按 Enter
source ~/.bash_profile
哪个php
2 安装 Mac 端口
https://www.macports.org/install.php
sudo port install php5-intl
或者 sudo port install php53-intl
cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/
{take a good look at the folder names that u use the right ones}
3 添加扩展
现在,将扩展名添加到您的php.ini
文件中:
extension=intl.so
有用的链接: https ://gist.github.com/irazasyed/5987693
OS X Homebrew(2015 年 5 月):
该intl
扩展已从主php5x
公式中删除,因此您不再使用该--enable-intl
标志进行编译。
如果找不到新包:
$ brew install php56-intl
Error: No available formula for php56-intl
请按照以下说明操作:https ://github.com/Homebrew/homebrew-php/issues/1701
$ brew install php56-intl
==> Installing php56-intl from homebrew/homebrew-php
错误消息清楚地说明了问题所在。您需要安装 intl 扩展。
第 1 步:安装 PHP intl 你舒服的版本
$sudo apt-get install php-intl
第2步:
对于 XAMPP Server intl 扩展已安装,您需要启用此扩展以取消注释 php.ini 文件中该行下方的注释。Php.ini 文件位于 c:\xampp\php\php.ini 或您安装 XAMPP 的位置。
取消注释前:
;扩展=php_intl.dll ;扩展=php_mbstring.dll
取消注释后:
扩展=php_intl.dll 扩展=php_mbstring.dll
简短回答:在 php_cli.ini 中激活 intl 扩展。感谢@ndm 的意见。
如果您使用的是最新版本的 Ubuntu 16.04 或更高版本,请执行
sudo apt-get install php-intl
然后重启你的apache
sudo service apache2 restart
就我而言,我正在运行的 php 版本是mac OSX上的 7.1.x 。我使用brew install php71-intl安装了intl命令。将 extension=intl.so 放在 php.ini 中根本没有效果。最后我寻找扩展安装目录,在那里我看到了 intl.so 并将该路径(扩展=/usr/local/Cellar/php71-intl/7.1.11_20/intl.so)放到我的php.ini文件中,它解决了我的问题问题。
在我的情况下,我实际上并没有尝试在本地运行 cakephp,我只是想让它使用 composer 在本地自动更新(因为我正在编写你用 composer 安装的插件)。因为我实际上什至没有在本地运行它,所以我可以通过添加 --ignore-platform-reqs 标志来简单地忽略需求。
php composer.phar update --ignore-platform-reqs
做这个
在 XAMPP 中,包含 intl 扩展名,但您必须在 php.ini 中取消注释 extension=php_intl.dll 并通过 XAMPP 控制面板重新启动服务器。在 WAMP 中,默认情况下 intl 扩展是“激活的”但不工作。要使其工作,您必须转到 php 文件夹(默认情况下)C:\wamp\bin\php\php{version},复制所有看起来像 icu*.dll 的文件并将它们粘贴到 apache bin 目录 C: \wamp\bin\apache\apache{版本}\bin。然后重新启动所有服务,应该可以了。
如果您使用 XAMPP,请执行此操作 1. 关闭 XAMPP 2. 修改 php.ini 位于 c/:xampp/php/php.ini 3. 包含 intl 扩展,但您必须在 php 中取消注释 extension=php_intl.dll。 ini 并通过 XAMPP 控制面板重新启动服务器。
我用的是Linux Ubuntu 20,你可以试试这个:
检查php安装的模块:
php -m | grep intl
如果此命令没有结果,您应该继续安装模块:
sudo apt-get install php7.4-intl
您需要更改*php7.4
为所需的 php 版本。
完成后,您应该重新启动 apache:
sudo service apache2 restart
对于 Ubuntu 终端:
请按照以下步骤操作:
步骤1:
光盘~
步骤-2:运行以下命令
sudo apt-get install php5-intl
步骤-3:然后您需要重新启动 Apache
sudo 服务 apache2 重启
对于 Windows(XAMPP):
找到 Php.ini 文件:
/xampp/php/php.ini
使用 remove (;) 分号更新 php.ini 文件,如下所述:
;extension=php_intl.dll到extension=php_intl.dll
并保存 php.ini 文件。
之后你需要
使用 xampp control 重新启动 xampp。
对于那些遇到Package not found
错误的人,请尝试在您的项目目录中sudo apt-get install php7-intl
运行。composer install
Intl Means:国际化扩展,使程序员能够在 PHP 脚本中执行符合 UCA 的排序规则和数字、货币、日期、时间格式。
可以使用 PECL 启用 PHP Intl。
pecl install intl
在普通的 RHEL/CentOS/Fedora 上,可以使用 yum 安装 PHP Intl
yum install php-intl
在 Ubuntu 上,可以使用 apt-get 安装 PHP Intl
apt-get install php5-intl
重新启动 Apache 服务以使更改生效。
而已
我在windows中遇到了同样的问题错误是我安装了几个版本的PHP并且环境变量路由到了错误的php路径参见图片示例
我正在使用 Mac OS High Sierra,但这些都不适合我。但是在搜索了很多之后,我发现了一个有效的!
这可能看起来微不足道,但实际上大约 2 个月前,一些聪明的人在 brew 存储库中进行了更改,所以这样做:brew install php71-intl
将向您显示错误消息,即此类配方不存在。
幸运的是,有。在另一个 brew repo 中有临时修复,所以你所要做的就是:
brew tap kyslik/homebrew-php
brew install kyslik/php/php71-intl
在我的情况下(xampp PHP 8.0)在
删除并重新启动 Apache中
查找;extension=intl
/xampp/php/php.ini
;