我正在使用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()
提前致谢
E_STRICT警告是警告,而不是错误 - 知道问题是PHP 5.4+特定:
E_STRICT(整数)
允许PHP建议对代码进行更改,以确保代码的最佳互操作性和向前兼容性.
从PHP 5开始,但直到PHP 5.4.0才包含在E_ALL中
你可以忽略它们(在采取措施阻止用户看到它们之后).
您可以使用多种选项,升级是最合适的选择.如果它是一个你正在维护活动的应用程序 - 最好升级到当前稳定版(写入时为2.4),但如果不是这种情况/希望/可能 - 升级仍然是最合适的解决方案:
推荐的
1.3.17是1.x发布周期中的最后一个版本.它与PHP 5.4兼容,并包含无数的bug和安全修复程序.它确实有一些迁移步骤,但通常不超过几分钟(或最多,几小时)工作.升级是一个简单的过程 - 只需下载新版本并替换cake文件夹即可.
简单
1.2.12最后的1.2次要版本是否与PHP 5.4兼容,升级到此版本不存在与现有应用程序代码兼容性问题的风险.升级是一个简单的过程 - 只需下载新版本并替换cake文件夹即可.
最容易(但也很hacky)
使1.2 php 5.4兼容所需的更改实际上非常简单 - 您可以自己应用它(只需查找error_reporting并添加& ~E_STRICT
到设置中).当然不建议编辑蛋糕文件夹- 但如果您正在寻找变化最小的解决方案:就是这样.