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

时间:2012-08-26 22:06:42

标签: cakephp cakephp-1.3 cakephp-2.0 cakephp-2.1

我正在尝试在cakephp(非mysql)上配置MS-MSQL数据库。

我的Wampserver在我的笔记本电脑上是2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b(这是windows x64-bit。

我已经邀请这两个dll来运行sql server
延长= php_sqlsrv_54_ts.dll
延长= php_pdo_sqlsrv_54_ts.dll

我在运行cakephp 1.3时遇到了这两个错误

Strict standards: Redefining already defined constructor for class Object in C:\wamp\www\project\cake\libs\object.php on line 54<br/>
Strict standards: Non-static method Configure::getInstance() should not be called statically in C:\wamp\www\project\cake\bootstrap.php on line 38

我也安装WampServer2.1e-x32它不起作用:(

任何帮助PLZ

4 个答案:

答案 0 :(得分:24)

您正在使用较新的php版本。在PHP 5.4中,E_STRICT是E_ALL的一部分

在cake 1.3中,打开文件/cake/bootstrap.php并像这样更改error_reporting

  

error_reporting(E_ALL&amp; ~E_STRICT&amp; ~E_DEPRECATED);

答案 1 :(得分:6)

你的cakephp版本很旧,并且最新版本的PHP存在问题。

您可以尝试更新CakePhp版本。似乎您正在使用1.3版本,因此请更新到最新版本。 你可以找到它

https://github.com/cakephp/cakephp/archives/1.3

只需将 cake / 文件夹替换为新文件夹即可解决此问题。

如果您是CakePHP的新手,那么最好学习最新的框架2​​.2.1。您可以使用Wamp轻松安装此框架。

答案 2 :(得分:0)

进入Config / core.php并查找错误处理程序配置:

Configure::write('Error', array(
    'handler' => 'ErrorHandler::handleError',
    'level' => E_ALL & ~E_DEPRECATED,
    'trace' => true
));

并将'level'替换为:

...
'level' => E_ALL & ~E_STRICT & ~E_DEPRECATED,
...

答案 3 :(得分:0)

解决方案是将cake 1.3版本更新到当前1.3.21的最后一个版本。

点击此处下载最新版本:

https://www.youtube.com/watch?v=WKVoUR_-DFw