我在我的 Mac(OS X El Capitan)上运行带有 PHP 5.6 的最新 AMPPS,并尝试运行 CakePHP 网络应用程序。当我使用终端在 Web 应用程序的目录下运行“composer install”时,它返回以下错误:
- 问题 1
- cakephp/cakephp 3.2.5 的安装请求 -> cakephp/cakephp[3.2.5] 可满足。
- cakephp/cakephp 3.2.5 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。问题 2
- cakephp/cakephp 3.2.5 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。
- cakephp/debug_kit 3.2.7 需要 cakephp/cakephp >=3.1.0 <4.0 -> cakephp/cakephp[3.2.5] 可以满足。
- cakephp/debug_kit 3.2.7 的安装请求 -> cakephp/debug_kit[3.2.7] 可满足。
然后,我打开“/Applications/AMPPS/php/etc/”下的php.ini,发现所有的扩展都已经取消注释了。
然后我运行“php --ini”,结果如下:
- 配置文件 (php.ini) 路径:/etc
- 加载的配置文件:(无)
- 在以下位置扫描其他 .ini 文件:/Library/Server/Web/Config/php
- 解析的其他 .ini 文件:(无)
然后我检查了/etc,并将“php.ini.default”文件更改为“php.ini”。下载 php_intl.dll 并移至“etc/ext”,并将 extension_dir 更改为“/etc/ext”。之后,我重新启动了 AMPPS 的 Apache 并再次运行“composer install”,它返回以下内容:
- PHP 警告:PHP 启动:无法加载动态库 './ext/php_intl.dll' - dlopen(./ext/php_intl.dll, 9): image not found in Unknown on line 0 使用包信息加载 composer 存储库 安装依赖项(包括 require-dev)来自锁定文件 您的需求无法解析为一组可安装的软件包。问题 1
- cakephp/cakephp 3.2.5 的安装请求 -> cakephp/cakephp[3.2.5] 可满足。
- cakephp/cakephp 3.2.5 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。问题 2
- cakephp/cakephp 3.2.5 需要 ext-intl * -> 您的系统中缺少请求的 PHP 扩展 intl。
- cakephp/debug_kit 3.2.7 需要 cakephp/cakephp >=3.1.0 <4.0 -> cakephp/cakephp[3.2.5] 可以满足。
- cakephp/debug_kit 3.2.7 的安装请求 -> cakephp/debug_kit[3.2.7] 可满足。
我试过运行 phpinfo(); 并且加载路径与我在终端中得到的不同:
- 配置文件 (php.ini) 路径 /Applications/AMPPS/php-5.6/etc
- 加载的配置文件 /Applications/AMPPS/php/etc/php.ini
- 扫描此目录以获取其他 .ini 文件 /Applications/AMPPS/php-5.6/etc/php.d
“ http://localhost/ampps/ ” 正在工作。
任何人都知道为什么会这样?