После обновления RHEL ого до CentOS ого, я начал видеть эти ошибки в моем журнале HTTPd:Non-статический метод PEAR :: IsError() не должен вызываться статический
Строгих стандартах 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
к error reporting. Перезагрузите httpd, чтобы загрузить новую конфигурацию. Все еще получаются сообщения об ошибках.
Другие упомянули ту же проблему с MDB2, поэтому я обновил эти пакеты до beta releases. Казалось, что это касается ошибок 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()
, что не будет производить ошибки?
Я подтвердил, что /etc/php.ini - это то, что используется (и редактируется). Я дважды проверю скрипты, чтобы убедиться, что что-то не переопределяет php.ini –
Существует ли современная альтернатива PEAR :: isError? –
Можно ли назвать это нестатически?'$ pear = new PEAR(); $ pear-> isError ($ something); ' –