由于升级到PHP 5.6,我收到了大量此错误。
严格标准:只应通过引用传递变量 406号线上的(ADRESS)不推荐使用:非静态方法 YRComms :: convertEncodingUTF()不应该静态调用, 假设$ 6来自第690行(ADRESS)中不兼容的上下文
(ADDRESS)表示PHP文件,因为我不想在此处发布整个链接
以下是一些代码:
第686行
if(null==$name||''==trim($name))$name=array_pop(explode('/',$url));
第690行
$name=YRComms::convertEncodingUTF($name);
第691行
$name=YRComms::convertEncodingEntities($name);
第693行
$url=YRComms::convertEncodingUTF($url);
等等......
对我应该做什么的任何猜测?
可在此处找到php文件:http://www.filedropper.com/yr 所有错误都可以在这里找到:http://www.filedropper.com/errorfromyr
答案 0 :(得分:1)
第686行
更改此行
if(null==$name||''==trim($name))$name=array_pop(explode('/',$url));
到这个
if(null==$name||''==trim($name)) {
$name = explode('/',$url);
$name = end($name);
}
第690,691,693行
更改这些行
$name=YRComms::convertEncodingUTF($name);
$name=YRComms::convertEncodingEntities($name);
// Clean URL
$url=YRComms::convertEncodingUTF($url);
到这个
$obj = new YRComms();
$name=$obj->convertEncodingUTF($name);
$name=$obj->convertEncodingEntities($name);
// Clean URL
$url=$obj->convertEncodingUTF($url);
答案 1 :(得分:0)
正如@Halfstop所说,你静态地调用非静态方法。
我不知道YrComms是如何构建的。如果它是带有构造函数的普通类,那么你需要做类似
的操作 $obj = new YRComms(); $obj->convertEncodingUTF($url);
如果是单身,那么你需要做一些像
这样的事情YRComms::getInstance()->convertEncodingUTF($url);
如果不知道YRComms类的定义,我无法帮到你。