【问题标题】:Fatal error: Class 'Locale' not found with ZF2 skeleton application致命错误:在 ZF2 框架应用程序中找不到类“区域设置”
【发布时间】:2012-07-15 14:09:08
【问题描述】:

我刚刚按照给定的说明安装了ZF2 beta5 application

$ git clone git://github.com/zendframework/ZendSkeletonApplication.git ./
Cloning into '.'...
remote: Counting objects: 1494, done.
remote: Compressing objects: 100% (660/660), done.
remote: Total 1494 (delta 681), reused 1373 (delta 581)
Receiving objects: 100% (1494/1494), 397.42 KiB | 357 KiB/s, done.
Resolving deltas: 100% (681/681), done.

$ php composer.phar install
Installing dependencies
  - Installing zendframework/zendframework (dev-master)
    Cloning d6b0afe61149c6d0669743aab5c73285c42cd0db

zendframework/zendframework suggests installing doctrine/common (Doctrine\Common >=2.1 for annotation features)
Writing lock file
Generating autoload files

当我访问应用程序时,我收到以下错误:

致命错误:在 ./vendor/zendframework/zendframework/library/Zend/I18n/Translator/Translator.php 第220行

我没有尝试按照建议安装Doctrine(因为我最后不想使用Doctrine)。

有人知道如何解决这个问题吗?

【问题讨论】:

  • 我有同样的问题,我还没有找到解决方案:(
  • 我遇到了同样的问题。我在 Mac OSX 上使用 MAMP,这个链接解决了我的问题:blog.geertvd.be/2011/05/18/…

标签: zend-framework2 beta


【解决方案1】:

您需要安装intl PHP 扩展。

对于基于 APT 的系统,请尝试:sudo apt-get install php5-intl
对于基于 YUM 的系统,请尝试:sudo yum install php-intl
对于 OS X,请以 this article 开头,但请检查您拥有的 PHP 版本并下载正确的源代码。

之后您可能需要重新启动 PHP 或 Web 服务器。

【讨论】:

  • 然后重启php
  • 但是为什么它甚至需要 intl 扩展?依赖一个只有少数开发人员使用的附加扩展是不是很荒谬?
  • 我们处于测试阶段。测试版的要点之一是找出有效的方法和无效的方法。显然,这并没有像我们希望的那样无缝地工作!
  • 我不是在评判,我知道错误是可以预料的,即使在测试版中,让扩展依赖项挂起这么久似乎也很奇怪。这是一个很容易解决的问题,而且远非小事。
  • 这仍然是一个常见问题,可能无法修复,具体取决于网站所在的位置。如果您的托管服务提供商不支持更改 PHP 配置,并且应用程序依赖于 i18n 相关代码,则没有其他方法可以设置它。某种内置支持确实比依赖很少安装在托管服务器上的扩展要好得多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多