gpt4 book ai didi

php - 不应静态调用非静态方法 PEAR::isError()

转载 作者:可可西里 更新时间:2023-10-31 22:09:10 26 4
gpt4 key购买 nike

从 RHEL 5x 升级到 CentOS 6x 后,我开始在我的 httpd 日志中看到这些错误:

PHP Strict Standards: Non-static method PEAR::isError() should not be called statically in /web/sites/blah/somescript.php on line 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 错误,但我仍然在 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() 的不同方法?

最佳答案

恐怕@johannes 是不正确的——这是非常可行的。只需在您的食谱中替换它:

if ((new PEAR)->isError($mdb2_dbx)) {
// Victory! Er, I mean, Error!
...
}

关于php - 不应静态调用非静态方法 PEAR::isError(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19248503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com