У меня Laravel установлен, и теперь я получаю эту ошибку каждый раз я бег composer update
, php artisan routes
или любые команды, композитора:Вызова неопределенного метода Illuminate Http Response :: вид()
Call to undefined method Illuminate\Http\Response::view()
Я уже искал в Интернете и пробовал следующие предлагаемые решения до сих пор, и ничего не работало:
1) В предлагаемом ответе в сети говорится, что нужно удалить vendor/compiled.php
и снова запустить обновление композитора. Но когда я пошел в папку поставщика, я не смог найти там файл compiled.php. Единственный файл, который существует там: autoload.php
2) Я также попытался найти compiled.php внутри папки storage/framework/
и ничего там не было.
3) Я даже попытался выполнить оптимизацию с флагом -force php artisan optimize --force
, и он показывает ту же ошибку, что и выше.
4) Я посмотрел на boostrap/autoload.php для скомпилированного пути, и он говорит $compiledPath = __DIR__.'/cache/compiled.php';
Я могу видеть только папку boostrap/cache, и у этого файла нет.
Что здесь не так? Я новичок в Laravel, и я не понимаю, что означает эта ошибка. Идя по ответам там, я собираюсь искать compiled.php
, чтобы удалить и запустить обновление снова, и я даже не знаю, подходит ли это для него. Может ли кто-нибудь помочь мне здесь, пожалуйста, как я могу продолжить устранение неполадок?
У меня есть Laravel 5.1.6 установлен после обновления, который я сделал вчера. Я также запустил команду composer dumpautoload
, и мне интересно, возникла ли эта ошибка после этого. Теперь любые команды в композиторе дают указанную выше ошибку.
EDIT: Теперь даже мой взгляд браузер сайта показывает ошибку:
FatalErrorException in Facade.php line 210:
Call to undefined method Illuminate\Foundation\Application::missing()
Я также попытался удалить всю папку поставщика и composer.lock, и вновь побежал composer install
. К концу установки при создании файлов автозагрузки он снова показал эту ошибку и остановился.
EDIT 2: @NehalHasnayeen в комментариях получил это абсолютно правильно. Эта ошибка была вызвана тем, что приложение вызывало метод представления в классе Response, в то время как класс ответа не имел метода просмотра. Как только я удалил это с моего маршрута, он сработал. Это мой путь файл:
Route::get('/', function() {
return view('index');
//return View::make('index');
});
Route::group(['prefix' => 'api'], function()
{
Route::resource('authenticate', 'AuthenticateController', ['only' => ['index']]);
Route::post('authenticate', '[email protected]');
});
// -------- THIS WAS CAUSING THE ISSUE - REMOVING THIS WORKED AFTER THAT ------
//App::missing(function($exception) {
// return view('index');
//});
Он принимает меня мой последний вопрос, почему всеохватывающий маршрут бросает эту ошибку? Я прочитал от here, что добавление вышеперечисленного перенаправит все остальные запросы маршрута к индексу. Каков правильный метод? Это изменилось в Laravel 5 или я сделал что-то неправильно?
Вы выполнили обновление до 5.1.6, верно? Какова была версия ларавела, которую вы имели раньше? –
Когда я впервые установил его, он был 5.1.4, затем он обновился до 5.1.5, а затем до 5.1.6. Но после обновления он работал недолго. Я думаю, что последняя команда, которую я сделал, была 'composer dumpautoload', которая была через несколько часов после обновления, и вскоре после этого я начал замечать эти ошибки. Не уверен, что dumpautoload может вызвать эту ошибку, поэтому, если это вызвало последнее обновление. – Neel
Являетесь ли вы загрузочным каталогом «bootstrap/cache»? –