CakePhp中严格的标准错误?

mon*_*mon 3 php apache cakephp

我正在使用xampp v3.1.0 3.1.0和cakephp 1.2.10但我有这两个错误.

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

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

提前致谢

AD7*_*six 7

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

E_STRICT(整数)

允许PHP建议对代码进行更改,以确保代码的最佳互操作性和向前兼容性.

从PHP 5开始,但直到PHP 5.4.0才包含在E_ALL中

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

您可以使用多种选项,升级是最合适的选择.如果它是一个你正在维护活动的应用程序 - 最好升级到当前稳定版(写入时为2.4),但如果不是这种情况/希望/可能 - 升级仍然是最合适的解决方案:

升级到最新1.3

推荐的

1.3.17是1.x发布周期中的最后一个版本.它与PHP 5.4兼容,并包含无数的bug和安全修复程序.它确实有一些迁移步骤,但通常不超过几分钟(或最多,几小时)工作.升级是一个简单的过程 - 只需下载新版本并替换cake文件夹即可.

升级到最新的1.2

简单

1.2.12最后的1.2次要版本是否与PHP 5.4兼容,升级到此版本不存在与现有应用程序代码兼容性问题的风险.升级是一个简单的过程 - 只需下载新版本并替换cake文件夹即可.

沉默E_STRICT警告自己

最容易(但也很hacky)

使1.2 php 5.4兼容所需的更改实际上非常简单 - 您可以自己应用它(只需查找error_reporting并添加& ~E_STRICT到设置中).当然不建议编辑蛋糕文件夹- 但如果您正在寻找变化最小的解决方案:就是这样.