Есть класс с методом:
public function myMethod() {
// do something
}
Метод не статический, но при обращении к нему: ClassName::myMethod() он выполнится, точнее PHP не даст ошибку при обращении, а даст ее позже, когда найдет допустим $this в реализации метода или что то еще чего не может быть в статическом методе. То есть PHP не различает не статический метод от статического.
Проблема обнаружилась когда стало необходимо использование метода __callStatic(). Необходимо обработать момент когда обращаются к несуществующему статическому методу, но при этом в классе вполне может быть не статический метод с тем же именем.
Может быть отключена какая либо настройка в PHP ?