【问题标题】:Strict Standards Error in CakePhp?CakePhp 中的严格标准错误?
【发布时间】:2014-04-24 00:49:26
【问题描述】:

我正在使用 xampp v3.1.0 3.1.0 和 cakephp 1.2.10 但我遇到了这两个错误。

严格标准:在第 62 行的 E:\xampp\htdocs\projectname\cake\libs\object.php 中为类 Object 重新定义已定义的构造函数

严格标准:非静态方法 Configure::getInstance() 不应在第 46 行的 E:\xampp\htdocs\projectname\cake\bootstrap.php 中静态调用

提前致谢

【问题讨论】:

  • 不能用更新版本的 CakePHP 吗?
  • cakephp 1.2.10版本有什么解决办法吗?

标签: php apache cakephp


【解决方案1】:

似乎旧的 CakePHP 不能很好地与新版本的 PHP 配合使用。请看这里:http://i.justrealized.com/2009/cakephp-php-deprecated-error-warning/

请注意,CakePHP 1.2 已被弃用。如果您想坚持使用 1.x 版本,建议至少使用 1.3,因为与 1.2 没有太大区别。

但如果你还是坚持,你可以将 PHP 降级到 5.2 或更低的版本来兼容

【讨论】:

  • 好多了 - 小的修正 php
【解决方案2】:

E_STRICT 警告是警告,而不是错误 - 知道问题是 PHP 5.4+ specific

E_STRICT(整数)

启用让 PHP 建议对您的代码进行的更改,这将确保最好的 代码的互操作性和前向兼容性。

自 PHP 5 但直到 PHP 5.4.0 才包含在 E_ALL 中

您可以忽略它们(在采取措施阻止用户看到它们之后)。

您有多种选择,升级是最合适的。如果它是您正在维护的应用程序 - 最好升级到当前稳定版(撰写本文时为 2.4),但如果不是这种情况/理想/可能 - 升级仍然最合适的解决方案:

升级到最新的 1.3

推荐

1.3.17 是 1.x 发布周期中的最后一个版本。它与 php 5.4 兼容,并包含大量错误和安全修复。它确实有some migration steps,但它们通常不超过几分钟(或最多几个小时)的工作。升级过程很简单 - 只需下载新版本并替换 cake 文件夹即可。

升级到最新的 1.2

简单

1.2.12 是最后一个 1.2 次要版本,也兼容 php 5.4,升级到此版本不会与您现有的应用程序代码发生兼容性问题。升级过程很简单 - 只需下载新版本并替换 cake 文件夹即可。

让 E_STRICT 对自己发出警告

最简单(但也很老套)

使 1.2 php 5.4 兼容所需的更改是 actually quite trivial - 您可以自己应用它(只需查找 error_reporting 并将 & ~E_STRICT 添加到设置中)。当然不推荐编辑 cake 文件夹 - 但如果您正在寻找更改最少的解决方案:就是这样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2013-09-15
    • 2016-12-11
    • 2012-01-24
    • 2013-12-10
    • 2016-12-11
    • 2013-07-03
    相关资源
    最近更新 更多