严格标准:只有变量才能通过引用传递&;严格标准:非静态方法


Strict Standards: Only variables should be passed by reference & Strict Standards: Non-static method

我刚刚转移到一个新主机,我收到了以下错误:

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

这是第34行的内容:

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

然后我也得到了这个:

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

你能帮忙吗?

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

PEAR类没有将其方法isError()定义为静态的,因此不允许这样调用它:PEAR::isError($foo)

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