Есть такой простой автозагрузчик:
<?php
function classes($class)
{
$app = dirname(__DIR__);
try {
if (!@include_once $app . "/" . str_replace("\\", "/", $class) . ".php") {
throw new Exception("Файл не найден!");
}
} catch (Exception $e) {
if (php_sapi_name() != "cli")
die("Ошибка подключения класса {$class} " . $e->getMessage());
else
echo "Ошибка загрузки класса стандартным загрузчиком";
}
}
require_once dirname(__DIR__) . '/vendor/autoload.php';
spl_autoload_register('classes');
?>
При работе в штатном режиме все ок. Классы подтягивает.
Но при запуска с консоли имею ряд проблем которых иметь не хочется, так как работаю с websocket (с Workerman).
include_once(/var/www/www-root/data/www/site.com/React/EventLoop/LoopInterface.php): failed to open stream:
No such file or directory in file
/var/www/www-root/data/www/site.com/system/Class.php on line 7
Я так понимаю, что два эти загрузчика не хотят "дружить". Но, кстати, вебсокет поднялся.
проверьте с начала есть ли файл под загружайте + зачем autoload composer-a в регистр кидать + ну и если он не загрузит значит ваш найдет. И не надо в autoload'е что то выкидывать класс может быть подгружен и в ручную
<?php
require_once $app . '/vendor/autoload.php';
function classes($class)
{
$app = dirname(__DIR__);
$file = $app . "/" . str_replace("\\", "/", $class) . ".php";
if (file_exists($file) {
require_once $file;
}
};
spl_autoload_register('classes');
?>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости