没有intl扩展名的CakePHP 3.0没有运行

时间:2015-01-02 18:31:34

标签: php cakephp cakephp-3.0 intl

我正在尝试在共享主机上安装并运行CakePHP 3.0项目 但是,CakePHP 3.0需要php-intl扩展,但托管服务提供商拒绝我在共享主机上安装/启用intl扩展名。

如何在没有intl扩展名的情况下运行CakePHP 3.0?

无论如何在CakePHP中禁用它?或者我可以使用任何替代方案吗?

我遇到了大麻烦。请帮忙......

8 个答案:

答案 0 :(得分:4)

如果仍然有安装php_intl的问题,请尝试下一个插件:https://github.com/hraq/cake-intl

这不会提供任何intl功能,但会允许你在服务器中使用Cake,因为某些原因无法使用php_intl。

答案 1 :(得分:4)

在XAMPP和WAMP中,mcrypt和mbstring扩展默认工作。

在XAMPP中,包含了intl扩展名,但你必须在php.ini中取消注释extension = php_intl.dll并通过XAMPP控制面板重启服务器。

在WAMP中,intl扩展默认为“激活”但不起作用。要使它工作,你必须转到php文件夹(默认情况下)C:\ wamp \ bin \ php \ php {version},复制所有看起来像icu * .dll的文件并将它们粘贴到apache bin目录C: \ WAMP \ BIN \ apache的\ apache的{}版本\ BIN。然后重新启动所有服务,它应该没问题。

http://book.cakephp.org/3.0/en/installation.html#requirements

答案 2 :(得分:3)

您有三种选择:

1)。不要使用CakePHP。

2)。不要使用该主机。

3)。编写一个兼容性类,涵盖php-intl的所有方面,以符合主机限制的方式使用。

这只是因为您的主机不支持它尚未支持的内容。 您可以打电话给他们并礼貌地询问他们是否允许您使用该扩展程序 - 但他们不太可能为您提供解决方案。

因此,没有这个扩展,你不能使用Cake-PHP - 唯一的另一个选择就是编写你自己的compat类 - 因为那将是一个巨大的PITA - 我只包括那个强调你应该只考虑其他两个选项。

答案 3 :(得分:1)

CakePHP 3无法使用,需要Intl扩展名,请查看食谱:http://book.cakephp.org/3.0/en/installation.html#requirements

答案 4 :(得分:0)

是的,你需要INTL来运行cakephp 3.

您可以尝试以下操作:

http://coolestguidesontheplanet.com/upgrade-to-php-5-4-or-5-5-mac-osx-10-8-mountain-lion/

然后在php.ini中更改路径,例如

extension_dir =“/ usr / local / php5-5.4.32-20140828-070730 / lib / php / extensions / no-debug-non-zts-20100525”

extension = mcrypt.so

extension = intl.so

答案 5 :(得分:0)

只需打开php.ini文件并查看此行下方: 的 [ExtensionList]

您必须看到以下行: extension = php_intl.dll 。如果没有,请添加它:)

答案 6 :(得分:0)

如果你有一个bitnami mamp图像(对于Mac OS),那么取消注释php.ini中的php_intl.so行而不是php_intl.dll

答案 7 :(得分:-1)

解决方案

  1. 打开/xampp/php/php.ini
  2. 更改; extension = php_intl.dll到extension = php_intl.dll(删除分号)
  3. 运行composer update