Вы уверены, что $_SERVER['DOCUMENT_ROOT'])
правильно заполнено?
Я бы скорее рекомендовал определить BASEURL
, используя некоторое относительное определение, например, если Документ Root равен двум папка над файлом, определяющая BASEURL
:
define('BASEURL', realpath(__DIR__ . "/../../"));
Или упрощение вашего автозагрузчика, чтобы сделать путь к нему относительным:
spl_autoload_register('myAutoLoaderPerson');
function myAutoLoaderPerson($className) {
require_once __DIR__ . "/../../../classes/$className.class.php";
}
Вы предложили вернуть /app/classes/lib\foo.class.php
.
Обратите внимание на сочетание /
и \
. Возможно, разница в том, что вы находитесь на windows локально, но на linux удаленно.
Если вы следуете PSR-4 соглашение, то это означает, что ваши пространства имен должны совпадать с каталогами, но для этого вам, вероятно, нужно преобразовать \
в /
.
Может быть так:
spl_autoload_register('myAutoLoaderPerson');
function myAutoLoaderPerson($className) {
require_once __DIR__ . "/../<path..to>/classes/" . strtr($classname, "\\", "/") . ".class.php";
}