我在班上定义了一个简单的__callStatic魔术方法:
public static function __callStatic($method, $args) {
if(substr($method, 0, 8) == "require_") {
// do stuff
}
}
脚本在执行时因致命错误“Undefined method MyClass :: require_foo”而死亡。
然而 ..
如果我以任何方式修改文件,例如:
public static function __callStatic($method, $args) {
if(substr($method, 0, 8) == "require_") {
// HELLO
}
}
然后它适用于下一页加载。后续页面加载失败,直到我对文件进行另一次更改。
这很令人毛骨悚然,对吧?但每次都可以100%重复。
答案 0 :(得分:0)
此问题与服务器上的操作码缓存有关。 eAccelerator已知__callStatic()的问题。 https://eaccelerator.net/ticket/382