Я обновляю версию MyPHP до версии 5.4 (Xampp 1.7.3 до 1.8.0). Теперь я вижу Строгие Стандарты ошибка, для 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, оператор new возвращает ссылку автоматически, поэтому
присваивание результата новых по ссылочным результатам в E_DEPRECATED
сообщение в PHP 5.3 и позже, и сообщение E_STRICT ранее
версии.
Это потому, что вы пытаетесь назначить объект по ссылке. Удалите амперсанд, и ваш скрипт должен работать как задумано.
У меня тоже была эта проблема.
Я не видел никаких изменений после изменения:
error_reporting = E_ALL
display_errors = Off
Закрыл мой браузер, остановился и запустил Apache в Xamp en. Сообщения об ошибках исчезли.