我正在尝试使用composer.json
文件。但是,当我试图运行命令' composer install
'在我的path/project/
中,我收到了错误消息:
我已经为我的wamp
配置了extension=php_intl.dll
'并复制了icu*.dll
' D:\wamp\bin\apache\apache2.2.22\bin
'中的所有D:\wamp\bin\php\php5.3.13
来自' phpinfo()
'并且它显示在icu*.dll
:
没有副本phpinfo()
也可以在intl
;
请告诉我,如果我 wamp
和 composer install
composer.json
安装>在我的电脑上然后我收到此错误。真的,这太烦人了。
以下是我的详细信息:
我的 {
"name" : "sebastian/money",
"description" : "Value Object that represents a monetary value (using a currency's smallest unit)",
"keywords" : ["money"],
"homepage" : "http://www.github.com/sebastianbergmann/money",
"license" : "BSD-3-Clause",
"authors" : [{
"name" : "Sebastian Bergmann",
"email" : "sebastian@phpunit.de"
}
],
"require" : {
"php" : ">=5.3.3",
"ext-intl" : "*"
},
"require-dev" : {
"phpunit/phpunit" : "~4.0"
},
"autoload" : {
"classmap" : [
"src/"
]
},
"extra" : {
"branch-alias" : {
"dev-master" : "1.3.x-dev"
}
}
}
如下:
{{1}}
如果需要任何其他详细信息,请与我们联系。
任何反馈/帮助都将受到高度赞赏。
答案 0 :(得分:31)
wamp的问题通常是它使用与命令行php不同的php.ini而不是web / apache php。所以你在浏览器中看到了phpinfo()中的intl扩展,但是如果你在命令行中运行php -m
,你会看到那里的扩展列表不包含intl。
您可以在输出的顶部使用php -i
进行检查,它应该告诉您加载ini文件的位置。确保在该ini文件中启用了intl扩展,你应该好好去。
答案 1 :(得分:29)
我在Mac中遇到过这种情况,使用--ignore-platform-reqs
选项解决了这个问题。
composer install --ignore-platform-reqs
答案 2 :(得分:11)
要启用intl扩展,请按照以下说明操作。
您需要通过在C:\ xampp \ php \ php.ini文件中取消注释以下行extension = php_intl.dll来启用扩展。 取消注释extension = php_intl.dll后,必须使用XAMPP控制面板重启apache服务器。
//about line 998
;extension=php_intl.dll
change as
extension=php_intl.dll
(注意:php.ini文件大多位于以下目录C:\ xampp \ php中)
重启xampp
答案 3 :(得分:9)
在linux中(例如Debian Jessie):
apt-get install php7.0-intl
将使你的工作到期,因为它将创建一个与之相关的信号链接。
答案 4 :(得分:2)
只需删除它们
"ext-intl" : "*"
来自您的composer.json文件。
由于有时会使用一些辅助功能,因此IDE抱怨composer.json文件中缺少扩展名。立即按Alt + Enter将其添加到作曲家。但这并不意味着作曲家会把它们算在内。下次做一些操作时,作曲家会抱怨。因此,我们不应该盲目地输入Alt + Enter,而不要通过执行composer install <package-name>
在composer中手动安装它们。
我认为您是手动输入的,应该将其删除,然后按照正确的过程composer install <package-name>
否则,您可以运行composer update
来计算添加的依赖项。
答案 5 :(得分:0)
只需取消注释这一行(找到它,只需在编辑器中搜索此行):
;extension=php_sockets.dll
(删除分号以取消注释)
对我来说,无需重启XAMPP(在您的情况下,WAMP)。但如果没有工作,请重启。
答案 6 :(得分:0)
这是一个有点老问题,但在安装magento 2时,我在linux基本服务器上遇到了同样的问题。
当我从我的magento root目录发射composer update
或composer install
命令时。它的射击低于错误。
Problem 1
- The requested PHP extension ext-intl * is missing from your system. Install or enable PHP's intl extension.
Problem 2
- The requested PHP extension ext-mbstring * is missing from your system. Install or enable PHP's mbstring extension.
Problem 3
- Installation request for pelago/emogrifier 0.1.1 -> satisfiable by pelago/emogrifier[v0.1.1].
- pelago/emogrifier v0.1.1 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
...
然后,我搜索了可用的intl&amp;使用以下命令扩展intl扩展名。
yum list php*intl
yum install php-intl.x86_64
yum list php*mbstring
yum install php-mbstring.x86_64
它解决了这个问题。
答案 7 :(得分:0)
如果在运行composer install命令时遇到此错误,
不用担心
要遵循的步骤和要求:
只需转到php.ini文件并取消注释该行
发件人:
;extension=php_intl.dll
收件人:
extension=php_intl.dll
注意:如果找不到名为的任何文件 php_intl.dll ,那么您需要升级PHP版本。
答案 8 :(得分:0)
(使用xampp服务器)在“ 。\ xampp \ php ”中打开php.ini
将 ; extension = intl 更改为 extension = intl
答案 9 :(得分:0)
对于php.ini 5.6版本(使用php -v检查版本)
; extension = php_intl.dll ;删除分号并保持这样 extension = php_intl.dll
对于php.ini 7. *版本
; extension = intl ;删除分号并保持这样 extension = intl
注意-确保重新启动Xampp之后,请在本地计算机中清理服务器。
答案 10 :(得分:0)
最新的XAMPP版本; 您只需要在php.ini文件中找到intl(第912行)即可。 更改 ; extension = intl 至 extension = intl
答案 11 :(得分:0)
我通过在 ubuntu 中使用 composer install 添加 --ignore-platform-reqs 命令解决了这个问题。
composer install --ignore-platform-reqs