После обновления с RHEL 5x до CentOS 6x я начал видеть эти ошибки в моем журнале httpd:
Строгие стандарты PHP: нестатический метод PEAR:: isError() не должен быть называется статически в /web/sites/blah/somescript.php в строке 33
Я видел похожие ошибки для MDB2. Подробнее об этом за секунду.
somescript.php:
32 $mdb2_dbx = MDB2::factory($dsn_mdb2, $mdb2_options);
33 if (PEAR::isError($mdb2_dbx))
34 {
35 $err = '<p>Cannot connect to database: ' . $mdb2_dbx->getMessage();
36 errorHandler($err);
37 }
Первое, что я сделал, это отредактировать /etc/php.ini
и добавить & ~E_STRICT
в отчет об ошибках. Перезагрузите httpd, чтобы загрузить новую конфигурацию. Все эти сообщения об ошибках.
Другие упомянули ту же проблему с MDB2, поэтому я обновил эти пакеты до бета-релизов . Это, по-видимому, касается ошибок MDB2, но я все еще получаю сообщения об ошибках PEAR в файле журнала httpd.
Информация о системе:
# pear list
PEAR 1.9.4 stable
MDB2 2.5.0b5 beta
MDB2_Driver_mysql 1.5.0b4 beta
MDB2_Driver_mysqli 1.5.0b4 beta
# php --version
PHP 5.4.20 (cli) (built: Sep 18 2013 19:55:33)
# cat /etc/centos-release
CentOS release 6.4 (Final)
# apachectl -v
Server version: Apache/2.2.15 (Unix)
Вопрос
Есть ли другой способ вызова PEAR::isError()
, который не приведет к ошибкам?