安装了PHP intl扩展,但CakePHP安装程序表示缺少该扩展
一天多以来,我一直在尝试启动一个CakePHP3项目。运行composer安装命令时,出现以下错误:安装了PHP intl扩展,但CakePHP安装程序表示缺少该扩展,php,cakephp,cakephp-3.x,intl,Php,Cakephp,Cakephp 3.x,Intl,一天多以来,我一直在尝试启动一个CakePHP3项目。运行composer安装命令时,出现以下错误: cakephp/cakephp 3.3.x requires ext-intl * -> the requested PHP extension intl is missing from your system. 我正在使用MacOS Sierra 10.12.2。XCode和所有的jazz都是完全最新的。我正在通过MAMP Pro 4.0.1(3985)运行PHP5.6.25。我正在尝
cakephp/cakephp 3.3.x requires ext-intl * -> the requested PHP extension intl is missing from your system.
我正在使用MacOS Sierra 10.12.2。XCode和所有的jazz都是完全最新的。我正在通过MAMP Pro 4.0.1(3985)运行PHP5.6.25。我正在尝试通过我的终端安装CakePHP 3.3.x,它使用ZSH而不是Bash
我花了很长时间试图安装intl。到目前为止,我非常确信它确实已安装:
php-m
时,我会在php模块列表中看到intl
extension=intl.so
,位于/Applications/MAMP/bin/php/php5.6.25/conf/php.ini
intl.so
位于目录/Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226
中'--enable intl'
。再往下看,它有自己的表,显示1.1.0版支持国际化。但是,在此表中,对于行intl.default\u locale
,值为无值。这可能是我的问题吗
~/.zshrc
文件中,我有别名php=“/Applications/MAMP/bin/php/php5.6.25/bin/php”
,因此我可以确定我使用的是正确的php版本和安装intl
问题,但到目前为止我还没有找到任何答案
所以我想这里是我的两个主要问题:
intl
扩展,为什么CakePHP仍然抱怨如果正确安装了扩展,就会错过它谢谢大家! 感谢所有参与评论的人。但我要特别感谢你指点我。我已经读了很多遍了,但显然忽略了它 我在
~/.zshrc
中添加了export PATH=“/Applications/MAMP/bin/php/php5.6.25/bin:$PATH”
然后我可以通过composer
安装CakePHP\
我想我的路径中有MAMP的PHP。我把它作为一个别名,所以终端中的php
会正确地指向MAMP的php安装,但事实证明php从来没有出现在我的路径中
哎呀 感谢所有参与评论的人。但我要特别感谢你指点我。我已经读了很多遍了,但显然忽略了它 我在
~/.zshrc
中添加了export PATH=“/Applications/MAMP/bin/php/php5.6.25/bin:$PATH”
然后我可以通过composer
安装CakePHP\
我想我的路径中有MAMP的PHP。我把它作为一个别名,所以终端中的php
会正确地指向MAMP的php安装,但事实证明php从来没有出现在我的路径中
哎呀
我想您还没有从php.ini文件中启用intl扩展名
我想您还没有从php.ini文件中启用intl扩展名
在页面中运行
phpinfo()
;并查看是否安装了intl。Mac自带apache,因此很可能是与命令行使用的不同版本的PHP是的,您需要查看您的apache是否正在运行扩展,您还需要确保您的apache指向您安装的PHP的MAMP版本,或者它是否指向默认的PHP安装。在Mac上,在apache httpd.conf文件中查找这一行:#LoadModule php5_module libexec/apache2/libphp5。Httpd.conf位于/etc/apache2/Httpd.conf中。如果你进入该文件,你正在寻找的那一行应该在LoadModule部分的底部附近。但是,我使用的是MAMP的apache服务器,而不是Mac上的原始服务器。我需要将其添加到MAMP的httpd.conf文件中吗?该模块的LoadModule具有不同的语法。例如,该文件具有MAMP\u php\u module\u MAMP
。但我不确定它是否指向了正确的php模块?请查看此链接,希望这对页面运行有帮助phpinfo()
;并查看是否安装了intl。Mac自带apache,因此很可能是与命令行使用的不同版本的PHP是的,您需要查看您的apache是否正在运行扩展,您还需要确保您的apache指向您安装的PHP的MAMP版本,或者它是否指向默认的PHP安装。在Mac上,在apache httpd.conf文件中查找这一行:#LoadModule php5_module libexec/apache2/libphp5。Httpd.conf位于/etc/apache2/Httpd.conf中。如果你进入该文件,你正在寻找的那一行应该在LoadModule部分的底部附近。但是,我使用的是MAMP的apache服务器,而不是Mac上的原始服务器。我需要将其添加到MAMP的httpd.conf文件中吗?该模块的LoadModule具有不同的语法。例如,该文件具有MAMP\u php\u module\u MAMP
。但我不确定它是否指向了正确的php模块?请查看此链接,希望这将有助于解决另一版本MAMP的相同问题。感谢您发布您的答案。在另一个版本的MAMP中遇到了相同的问题。感谢您发布您的答案。转到您的xampp目录,从“xampp\php”打开php.ini文件,然后单击f