Мне неприятно это говорить, но поведение с pwd
, которое вы описываете, является 100% ожидаемым поведением (и так было по крайней мере с PHP4 ... возможно, раньше).
PHP автоматически устанавливаеттекущий рабочий каталог (используется pwd) ОДИН РАЗ.PHP не меняет это.Таким образом,будет ссылаться на исходный текущий рабочий каталог, если вы не измените его вручную с помощью chdir ().
Существуют различные решения этой проблемы;большинство из которых вы можете увидеть в Нужна стратегия включения файлов PHP .
Если раньше это работало, вероятно, где-то было какое-то обновление include_path, код, который изменил рабочий каталог, больше не меняетсяон или версия php, которую вы использовали, которая реализовала это странное (но более ожидаемое) поведение, больше не делает этого.
В любом случае, я бы проверил пути включения: файлы ini или сценарии, которые изменяют путь включения.Я предполагаю, что что-то использовалось для обновления include_path, но больше не делает этого.
Я не уверен в деталях того, как вы его переместили, но я столкнулся с некоторыми раздражающими скриптами, в которых .htaccess устанавливает auto_prepend_file в жестко заданный путь к файлу, полностью находящемуся вне структуры сайта, который устанавливаетвключить путь (между прочим) где-то внутри веб-структуры.