php报警:Strict Standards: Only variables should be passed by reference in

时间:2023-03-08 15:38:17

错误原因

因为end函数的原因。

end函数: mixed end    ( array &$array   )

你可以看到end的参数是一个引用(reference),而你只能把一个变量的引用作为一个参数传给函数,而你直接把explode('.',$name)作为参数传给end函数,所以才有这个提示。

你可以这样修改,先定义一个变量,然后把这个变量传给end函数

解决方案: 打开includes/lib_main.php 把代码一 改成 代码二 即可解决错误。

代码一

 function get_dyna_libs($theme, $tmp)
{
$ext = end(explode('.', $tmp));

代码二

 function get_dyna_libs($theme, $tmp)
{
$extvar = explode('.', $tmp);
$ext = end($extvar);
$tmp = basename($tmp,".$ext");