【问题标题】:Strict Standards: Only variables should be passed by reference & Strict Standards: Non-static method严格标准:只能通过引用传递变量 & 严格标准:非静态方法
【发布时间】:2013-12-28 16:42:45
【问题描述】:

我刚搬到一个新的主机,我收到了这些错误:

严格标准:只有变量应该在 /home/---/public_html/dl/index.php 第 34 行通过引用传递**

这是第 34 行的内容:

echo '<title>'.str_replace('%20', ' ', end(array_filter(explode("/", $_GET['dir'])))).' | PlayWAP.Mobi</title>';**

然后我也得到了这个:

严格标准:不应静态调用非静态方法 PEAR::isError(),假设 $this 来自 /home/---/public_html/dl/id.php 第 403 行的不兼容上下文**

你能帮忙吗?

【问题讨论】:

标签: php standards strict


【解决方案1】:

函数end() 确实需要一个变量,而不是函数结果,如 php.net 上所述:http://php.net/end

PEAR 类没有将它的方法isError() 定义为静态,所以你不能这样调用它:PEAR::isError($foo)

可以通过设置不太严格的错误级别来禁用这两个错误,但它们是代码库变旧并需要刷新的迹象。如果不修复这些错误(而不仅仅是消除错误输出),您可能在几年内无法在新的 PHP 安装上使用您的网站。

【讨论】:

    猜你喜欢
    • 2013-05-21
    • 1970-01-01
    • 2012-10-25
    • 2013-03-31
    • 2012-12-24
    • 2017-07-24
    相关资源
    最近更新 更多