CakePHP 3.0 在没有 intl 扩展的情况下无法运行


CakePHP 3.0 not running without intl extension

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

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

有没有办法在 CakePHP 中禁用它?或者我可以使用任何替代方案吗?

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

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

这不会提供任何 intl 功能,但允许您在由于某种原因无法使用php_intl的服务器中使用 Cake。

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

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

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

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

您有三个选择:

1). 不要使用 CakePHP。

2). 不要使用该主机。

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

这仅仅是因为您的主机不支持它尚不支持的内容。您可以打电话给他们并礼貌地要求他们允许您使用该分机 - 但他们不太可能为您提供解决方案。

因此,如果没有该扩展,您将无法使用Cake-PHP - 唯一的其他选择是编写自己的兼容类 - 由于这将是一个巨大的PITA - 我只包括它以强调您应该只考虑其他两个选项。

CakePHP 3 没有它就不起作用,需要 Intl 扩展,请查看食谱:http://book.cakephp.org/3.0/en/installation.html#requirements

是的,你需要 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"

扩展名 = mcrypt.so

扩展名 = intl.so

只需打开php.ini文件并查看此行下方的周围:[扩展列表]

您必须看到此行:extension=php_intl.dll.如果没有,请将其添加到:)

如果您有Bitnami mamp映像(适用于Mac OS),请在php中取消注释php_intl.so行.ini而不是php_intl.dll

解决方案

  1. 打开/xampp/php/php.ini
  2. 将 ;extension=php_intl.dll 更改为 extension=php_intl.dll(删除分号)
  3. 运行作曲家更新