我正在为我的项目使用CakePHP 3和MAMP Pro服务器。当我试图烤蛋糕时,出现了这个错误:
致命错误:您必须启用intl扩展才能使用CakePHP。
我甚至在我的php.ini文件中包含了 intl.so 和 extension = php_intl.dll ,但无法找到此错误的解决方案。
答案 0 :(得分:3)
如果不看系统设置,很难确切地指出错误。但是,根据问题中的说法,您可能错误地设置了intl扩展名。
首先,如果您的操作系统是Linux / macOS且PHP扩展是共享库(即具有.so
扩展名),则php.ini
条目应为extension=intl.so
不是 extension=php_intl.dll
。还要确保intl.so
文件位于ini条目extension_dir
下配置的目录中。否则,请确保扩展名ini条目完全合格(例如extension=/path/to/extension/dir/intl.so
)。
如果您使用的是具有包管理器(如Debian / Ubuntu)的Linux操作系统,您可以更轻松地为该发行版打包的PHP安装扩展。例如,在Ubuntu / Debian中,包php5-intl
为PHP5提供了intl扩展(假设你已经启用了那些repos,我认为它类似于PHP7。)
如果从源代码构建PHP,可以尝试将扩展名捆绑到PHP中。请参阅manual。
中的说明答案 1 :(得分:2)
这个问题是几天前发生在我身上的。我已经安装了Ubuntu 18.04和php 7.1。
我试图在orden中运行逗号php cake.php bake
以使用cakephp的控制台,但是却收到以下错误消息:
You must enable the intl extension to use CakePHP.
此扩展名(intl
)是为php 7.1(php7.1-intl
)安装的,但是每次使用php cake.php bake
时都会出现此消息
经过Google的一些搜索,我发现我必须安装扩展程序,但是要使用以下命令:
sudo apt-get install php-intl
扩展名mbstring
发生了同样的问题,我使用了以下命令:
sudo apt-get install php-mbstring
然后我使用以下命令重新启动apache服务器:
sudo service apache2 restart
答案 2 :(得分:0)
我有同样的问题。从头开始后,我做了:
$ brew install php
$ composer install && composer update && composer dump-autoload --optimize
$ composer self-update && composer create-project --prefer-dist cakephp/app:^3.8 cms
$ cd cms
$ bin/cake server
它正在工作!