May 27

话说PHP的call_user_func_array 不指定

felix021 @ 2011-5-27 10:33 [IT » 程序设计] 评论(0) , 引用(0) , 阅读(4260) | Via 本站原创 | |
前些天写的程序在上线的时候出现BUG了,错误提示就是call_user_func_array无法调用指定的函数。

代码大概是这样的
class foo {
  public static function bar($arg1, $arg2) {
    //do sth.
  }
}

call_user_func_array("foo:bar", array(1, 2));


追了一下发现是PHP版本的问题,开发环境使用的是php 5.2.17,而线上环境是旧版本的5.1.6。5.1版的php的call_user_func / call_user_func_array函数没法调用类的静态函数,所以出现了这个问题。

没有很好的解决方法,大致就是

1. 升级PHP(最后我们是这么做的)

2. 使用字符串拼出一段php代码,然后用eval来执行。很挫,但是也能用。



欢迎扫码关注:




转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   *非必须
网址   电邮   [注册]