Ошибка spl_autoload на удаленном сервере

Извините за мой плохой язык 🙂

На моем локальном apache 2.2 php 5.3.13 все ОК, но на удаленном сервере (php 5.3 тоже) исключение логики spl_autoload:

Неустранимая ошибка: необработанное исключение «LogicException» с сообщением «Класс
Не удалось загрузить систему \ Core \ Helper \ Helper ‘в
/home/u737840143/public_html/index.php:6 Трассировка стека: # 0
/home/u737840143/public_html/index.php(6):
spl_autoload (‘System \ Core \ Hel …’) # 1 {main} добавлено
/home/u737840143/public_html/index.php в строке 6

Код:

<?php

spl_autoload_extensions('.php');
spl_autoload_register();

\System\Core\Helper\Helper::getLanguage();

$router = new \System\Router\Router();
$router->init();

Структура удаленной папки соответствует локальной.

0

Решение

Я нашел ответ — spl_autoloader() не может корректно работать с прописными буквами во многих операционных системах, но в Windows это работает хорошо.
Итак, после переименования всех папок в нижнем регистре (да, и переписывания пространств имен во ВСЕХ ФАЙЛАХ …) все начало работать.

<?php

spl_autoload_extensions('.php');

spl_autoload_register();try {

\system\core\helper\Helper::getLanguage();

$router = new \system\router\Router();
$router->init();

} catch (\Exception $e){
echo $e;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]