typecho根目录下生成一个error_log文件
内容为:
[03-feb-2016 06:20:43 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:20:43 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:20:43 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:20:43 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...
可否在/var/typecho/plugin.php文件中增加这一句?
error_reporting( e_all & ~e_strict );
这样有没有用,会不会对程序有影响?
回复内容: typecho根目录下生成一个error_log文件
内容为:
[03-feb-2016 06:20:43 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:20:43 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:20:43 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:20:43 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...[03-feb-2016 06:24:37 utc] php strict standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method avatars_plugin::avatars() should not be called statically in /home/...
可否在/var/typecho/plugin.php文件中增加这一句?
error_reporting( e_all & ~e_strict );
这样有没有用,会不会对程序有影响?
抑制错误的输出应该是治标不治本的~
而且尽量不要动核心代码,不然以后程序更新的时候可能会有意想不到的结果
所以我们应该从错误的根源入手:
这个报错是因为 avatars 插件里面的 avatars() 函数没有声明成静态函数,而用 avatars_plugin::avatars() 的时候访问的是静态函数所以就出问题了,所以直接在 avatars 插件的 plugins.php 的 avatars 函数前面加一个 static 关键字就不会报错了
去下载了个 avatars 插件看了看,应该是在 plugins.php 的 109 行,
把
public function avatars($size,$rating,$default,$comments){
改成
public static function avatars($size,$rating,$default,$comments){
就可以啦