Случайный класс не нашел ошибок в PHP

-2

Мы получаем случайные ошибки в php (окна 7 с xampp):

PHP Неустранимая ошибка: класс [NAME OF MY CLASS] не найден

Класс существует, и HTTP-запросы для одного и того же вызова работают в 99% случаев, но иногда мы получаем эту ошибку. Зачем?

ОБНОВИТЬ:

Я уже запускаю компоновщик dump-autoload, и это сопоставление находится в файле autoload_psr4.php.

НО, я нашел там также отображение, которое начинается с того же пути, но с недопустимой папкой, например:

Мой класс: Path/SubPath/ClassX

В autoload_psr4.php у меня (в этом же порядке):

'Path\\SubPath\\' => array($vendorDir . '/company/project/src'),

'Path\\' => array($baseDir . '/src'),

Проблема здесь: во второй записи, $baseDir./src $baseDir./src не существует. Может ли это объяснить, почему я получаю случайные ошибки? (Иногда получается второе сопоставление вместо первого)

  • 1
    покажи свой код, чтобы помочь вам
  • 0
    Вы пробовали composer dump-autoload ?
Показать ещё 2 комментария
Теги:
composer-php
autoload
artisan

2 ответа

0

Это проблема, связанная с laravel. Попробуйте выполнить следующие команды:

composer dump-autoload -o
php artisan clear-compiled
php artisan optimize
  • 0
    Можно ли получить более подробную информацию об этой конкретной проблеме, о которой вы говорите? Потому что я хочу понять, почему я получил это случайно и почему эти команды решат проблему.
  • 0
    Я думаю, что это просто очень старая (> 2 года) ошибка в ремесленнике. Это происходит при обновлении до следующей версии laravel. Ремесленная команда портит services.json.
Показать ещё 1 комментарий
0

Я думаю, вам нужно запустить: composer dump-autoload.

composer dump-autoload восстанавливает список всех классов, которые должны быть включены в проект (autoload_classmap.php). Идеально подходит, когда у вас есть новый класс внутри вашего проекта

Затем запустите следующие три команды:

php artisan clear-compiled 
composer dump-autoload
php artisan optimize

Это очистит текущие скомпилированные файлы, обновит классы, которые ему нужны, а затем напишет их обратно, чтобы вам не пришлось повторять это снова.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню