我在尝试运行composer install
时面对以下问题:
php警告:PHP启动:无法加载动态库'/usr/local/cellar/php70/70/7.0.0.14_7/lib/php/php/php/extensions/no-debug-non-zts-20151012/php_intl.dll.dll.dll.dll.dll.dll.dll.dll.dll.dll.dll.dll.dll.dll.dll.dll'-(/usr/local/cellar/php70/7.0.0.14_7/lib/php/php/extensions/no-debug-non-zts-20151012/php_intl.dll,9):图像在第0
第0行上未知警告:PHP启动:无法加载动态库'/usr/local/cellar/php70/70.0.0.14_7/lib/php/php/php/extensions/no-debug-non-zts-20151012/php_intl.dll.dll.dll.dll.dll.dll.dll'- dlopen(/USR/local/cellar/php70/7.0.0.14_7/lib/php/php/extensions/no-debug-non-zts-20151012/php_intl.dll,9):图像在第0行中未知的图像未找到 带有包装信息的加载作曲家存储库 从锁定文件中安装依赖项(包括require-dev) 警告:锁定文件与composer.json的最新更改不是最新的。您可能会得到过时的依赖关系。运行更新以更新它们。 您的要求无法解决到可安装的软件包集。
问题1
- Magento/Magento2-base 2.1.1->安装请求可通过Magento/Magento2-base满足[2.1.1]。
- Magento/Magento2-base 2.1.1需要Ext-Intl * ->您的系统中缺少请求的PHP扩展INTL。
问题2
- Magento/product-Community-Edition 2.1.1->可通过Magento/product-Community-edition满足[2.1.1]。
可满足的安装请求。>- Magento/product-Community-Edition 2.1.1需要Ext-Intl * ->您系统中所需的PHP扩展INTL。
要启用扩展,请验证它们在这些.ini文件中是否已启用: -/usr/local/etc/php/7.0/php.ini -/usr/local/etc/php/7.0/conf.d/ext-mcrypt.ini
您还可以在终端内运行
php --ini
,以查看PHP在CLI模式下使用了哪些文件。
我该如何修复?
我没有丝毫线索,您如何设法在Mac上使用Windows DLL,但是...
-
/usr/local/Cellar/php70/7.0.14_7/lib/php/extensions/
表示您正在使用Mac/Homebrew。 -
no-debug-non-zts-20151012/php_intl.dll
表示您正在尝试加载Windows DLL
您要使用的扩展名是为另一个操作系统构建/编译。PHP无法加载该文件。这就是Warning: PHP Startup: Unable to load dynamic library
的原因。
解决方案
通过Homebrew
安装brew update
brew install icu4c
或通过PECL
安装sudo pecl update-channels
sudo pecl install intl
然后将extension=php_intl.so
添加到您的php.ini
,
或那个完整的路径混乱:extension=/usr/local/Cellar/php70/7.0.14_7/lib/php/extensions/no-debug-non-zts-20151012/php_intl.so