严格的标准:只有variables应该由参考PHP 5.4来分配

我将MyPHP版本升级到5.4(Xampp 1.7.3到1.8.0)。 现在我看到严格的标准错误,为myDBconnection

严格的标准:只有variables应该在第4行的C:\ xampp \ htdocs \ alous \ include \ dbconn.php中通过引用来分配

dbconn.php:

 <?php defined('_VALID') or die('Restricted Access!'); $conn = &ADONewConnection($config['db_type']); // <--- This Line 4 if ( !$conn->Connect($config['db_host'], $config['db_user'], $config['db_pass'], $config['db_name']) ) { echo 'Could not connect to mysql! Please check your database settings!'; die(); } $conn->execute("SET NAMES 'utf8'"); ?> 

注意:我不需要使用这个方法在php.ini中禁用严格标准error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT ! 我想修复我的PHP代码。

您应该删除& (&符号)符号,以便第4行看起来像这样:

 $conn = ADONewConnection($config['db_type']); 

从PHP的参考手册上分配 :

从PHP 5开始,new运算符会自动返回一个引用,因此,在PHP 5.3及更高版本中,通过引用结果分配新的E_DEPRECATED消息,并在早期版本中分配E_STRICT消息。

这是因为你试图通过引用来分配一个对象。 删除&符号,您的脚本应按预期工作。

我也有这个问题。

改变后我没有看到任何改变:

 error_reporting = E_ALL display_errors = Off 

closures我的浏览器,并停止并启动在Xamp的Apache错误消息已经消失。