Я обновляю версию 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-код.
Вы должны удалить символ &
(амперсанд), так что строка 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. Сообщения об ошибках исчезли.