>  기사  >  php教程  >  callback 的时候在有些php版本下报出Unable to call custom fun

callback 的时候在有些php版本下报出Unable to call custom fun

WBOY
WBOY원래의
2016-06-06 19:43:251960검색

摘要: 接到一个站长反馈页面信息展示失败,拿到服务器权限开启调试一看,发现报错了,报错的地方是一个preg_replace_callback方法中Unable to call custom replacement function。而奇怪的是,其他系统其他地方的preg_replace_callback调用没有其他问题。后

摘要:

  接到一个站长反馈页面信息展示失败,拿到服务器权限开启调试一看,发现报错了,报错的地方是一个preg_replace_callback方法中Unable to call custom  replacement function。而奇怪的是,其他系统其他地方的preg_replace_callback调用没有其他问题。后经过测试发现是callback写法问题造成,特此记文。

 

正文:

     出现错误的代码调用,源代码书写如下:

<span>$content</span> = <span>preg_replace_callback</span>('/正则/', 'PwHook::_pregReplace', <span>$content</span>);

然而,采用array的方式书写则又正常:

<span>1</span> <span>$content</span> = <span>preg_replace_callback</span>('/正则/', <span>array</span>(self, '_pregReplace'), <span>$content</span>);

而同样的第一种写法,在用call_user_func_array的方法中也在这台服务器上出现同样的Unable to call constom function的问题,同样改成第二种方法即可。

看来第一种写法还是会有什么问题,还是第二种方法靠谱点

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.