Строгие стандарты: только переменные должны назначаться по ссылке PHP 5.4

Я обновляю версию MyPHP до 5.4 (Xampp 1.7.3 до 1.8.0). Теперь я вижу ошибку myDBconnection стандартов , для myDBconnection :

Строгие стандарты: только переменные должны назначаться по ссылке в C: \ xampp \ htdocs \ alous \ include \ dbconn.php в строке 4

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-код.

Solutions Collecting From Web of "Строгие стандарты: только переменные должны назначаться по ссылке PHP 5.4"

Вы должны удалить символ & (амперсанд), так что строка 4 будет выглядеть так:

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

Из справочника php по присваиванию по ссылке :

Начиная с PHP 5, новый оператор автоматически возвращает ссылку, поэтому присвоение результата нового по ссылке приводит к сообщению E_DEPRECATED в PHP 5.3 и более поздних версиях и сообщению E_STRICT в более ранних версиях.

Это потому, что вы пытаетесь назначить объект по ссылке. Удалите амперсанд, и ваш скрипт должен работать по назначению.

У меня тоже была эта проблема.

Я не видел никаких изменений после изменения:

 error_reporting = E_ALL display_errors = Off 

Закрыл мой браузер и остановился и запустил Apache в Xamp en. Сообщения об ошибках исчезли.