从 RHEL 5x 升级到 CentOS 6x 后,我开始在我的 httpd 日志中看到以下错误:
PHP 严格标准:非静态方法 PEAR::isError() 不应在第 33 行的 /web/sites/blah/somescript.php 中静态调用
我看到了 MDB2 的类似错误。稍后会详细介绍。
一些脚本.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 相同的问题,所以我将这些包更新为beta 版本。这似乎解决了 MDB2 错误,但我仍然在 httpd 日志文件中收到 PEAR 错误消息。
系统信息:
# 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()
不会产生错误?