Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
安装了PHP intl扩展,但CakePHP安装程序表示缺少该扩展_Php_Cakephp_Cakephp 3.x_Intl - Fatal编程技术网

安装了PHP intl扩展,但CakePHP安装程序表示缺少该扩展

安装了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。我正在尝

一天多以来,我一直在尝试启动一个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 3.3.x,它使用ZSH而不是Bash

我花了很长时间试图安装intl。到目前为止,我非常确信它确实已安装:

  • 当我运行
    php-m
    时,我会在php模块列表中看到
    intl
  • 我的php.ini中有
    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
  • 在MAMP的phpinfo页面上,我可以在Configure命令单元格中看到
    '--enable intl'
    。再往下看,它有自己的表,显示1.1.0版支持国际化。但是,在此表中,对于行
    intl.default\u locale
    ,值为
    无值。这可能是我的问题吗
  • 在我的
    ~/.zshrc
    文件中,我有
    别名php=“/Applications/MAMP/bin/php/php5.6.25/bin/php”
    ,因此我可以确定我使用的是正确的php版本和安装
  • 我希望我没有因为尝试使用这么多的文章和答案而破坏任何东西。我知道这里有很多类似的
    intl
    问题,但到目前为止我还没有找到任何答案

    所以我想这里是我的两个主要问题:

  • 我上面列出的证据是否足以表明我确实正确安装了
    intl
    扩展,为什么CakePHP仍然抱怨如果正确安装了扩展,就会错过它
  • 如果安装不正确,我如何纠正这一点并让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