Меню

500 ошибка сервера laravel

I have installed Laravel many times on Windows OS but never had this problem.

However, on Ubuntu 14.04 I am getting a 500 Internal Server Error, and messages like this in my logs:

[Wed Jul 22 10:20:19.569063 2015] [:error] [pid 1376] [client 127.0.0.1:52636] PHP Fatal error: require(): Failed opening required ‘/var/www/html/laravel_blog/../bootstrap/autoload.php’ (include_path=’.:/usr/share/php:/usr/share/pear’) in /var/www/html/laravel_blog/index.php on line 22

Previously I’ve had problems when mod_rewrite was not installed or set up properly, but I have installed it and it is not working. Changed .htaccess as well from original to this.

    +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

I’ve given access to all my folders and files inside i.e.

/var/www/html/laravel_project

I have all the necessary extensions needed for Laravel 5+ as well. Is there something left that I didn’t do?

IMSoP's user avatar

IMSoP

84.5k12 gold badges110 silver badges163 bronze badges

asked Jul 21, 2015 at 15:18

DpEN's user avatar

9

Finally Overcame the problem

  • It was not the .htaccess file that was the problem nor the index.php. The problem was on accessing the files and requiring permissions.

For solving the problem i ran the following commands through terminal.

sudo chmod -R 755 laravel_blog

and then type below to allow laravel to write file to storage folder

chmod -R o+w laravel_blog/storage

This two commands solved the problem.

C.Liddell's user avatar

C.Liddell

1,08410 silver badges19 bronze badges

answered Jul 22, 2015 at 11:06

DpEN's user avatar

DpENDpEN

4,1263 gold badges17 silver badges25 bronze badges

12

Create the .env file and also run :

php artisan key:generate

This worked for me after pulling a git project.

After creating .env file and generating the key, run the code below:

php artisan cache:clear 
php artisan config:clear

tchap's user avatar

tchap

3,4123 gold badges28 silver badges46 bronze badges

answered May 3, 2017 at 14:23

Goodlife's user avatar

GoodlifeGoodlife

3,7122 gold badges23 silver badges23 bronze badges

5

Try to check if you have .env file.

Mostly this thing can cause something like that. Try to create a file then copy everything from .env.example, paste it to your created file and name it .env. or jsut simply rename the .env.example file to .env and run php artisan key:generate

Unheilig's user avatar

Unheilig

16.1k193 gold badges67 silver badges96 bronze badges

answered Sep 27, 2018 at 5:40

Lesther's user avatar

LestherLesther

4615 silver badges5 bronze badges

2

After installing run below command

sudo chmod 755 -R laravel
chmod -R o+w laravel/storage

here «laravel» is the name of directory where laravel installed

answered Mar 8, 2016 at 5:58

Sujendra Kumar's user avatar

2

Make sure a .env file, containing an APP_KEY, exists in root.

What should be in the .env hasn’t been explicitly stated in other solutions, and thought I’d boil it down to the sentence above.

This fixed my 500 error on a fresh install of Laravel.

Steps:

  1. Create a .env file in root (e.g. touch .env)
  2. Make sure it contains at least one line: APP_KEY=
  3. Generate an app key in terminal: php artisan key:generate

More .env paramaters:

As a reference, here’s the official .env with useful baseline parameters. Copy-paste what you need:

https://github.com/laravel/laravel/blob/master/.env.example

Notes:

  • My particular installation didn’t include any .env whatsoever (example or otherwise)

  • Simply having a blank .env does not work.

  • A .env containing parameters, but no APP_KEY parameter, does not work.

Bug?: When generating an app key in terminal, it seems to falsely report success, however no key will actually get placed in the .env if the file is missing a line starting with APP_KEY=.

answered Apr 10, 2020 at 16:06

MarsAndBack's user avatar

MarsAndBackMarsAndBack

8,7263 gold badges31 silver badges54 bronze badges

I fixed with this Command:

   rm -rf app/storage/logs/laravel.logs
   chmod -R 777 app/storage,
   php artisan cache:clear,
   php artisan dump-autoload OR composer dump-autoload

Than restart a server eather XAMPP ore another one and that should be working.

Khushal's user avatar

Khushal

2373 silver badges19 bronze badges

answered Feb 8, 2017 at 20:03

Atdhe Kurteshi's user avatar

1

I have faced a similar error. I checked the log in /var/log/apache2/error.log and found an UnexpectedValueException

I changed the owner to my apache user of the storage folder under the project dir.

sudo chown -R www-data:www-data ./storage

In my case apache2 process owner is www-data, so change this to yours, this can be found in apache2 config file. Hope this is useful to you.

Naman's user avatar

Naman

25.2k26 gold badges212 silver badges345 bronze badges

answered Jun 1, 2016 at 7:07

Snriud's user avatar

SnriudSnriud

1432 silver badges7 bronze badges

0

May another solution to this problem:

Install the required packages by running the composer command from the the root of the project:

sudo composer install

UPDATE:

  • You should not run this command on a production server, but some issues with composer can be resolved with this on local envs.

EDIT:

  • take a look at https://getcomposer.org/doc/faqs/how-to-install-untrusted-packages-safely.md to see why running composer install as root is not a good idea
  • If you need to run it as root, provide the following flags, to block third-party code from executing durin the install —no-plugins —no-scripts

LeonTheProfessional's user avatar

answered Nov 23, 2015 at 18:58

Christos Papoulas's user avatar

3

Create .env file with the below cmd command:

cp .env-example .env

Then generate a key for your project:

php artisan key:generate

After that clear your caches using the below commands:

//---Delete Configuration Cahce
php artisan config:cache
//---Clear Application Cache
php artisan cache:clear

answered Jul 5, 2021 at 3:39

Hedayatullah Sarwary's user avatar

run these commands

1. composer install 
2. mv .env.example .env 
3. php artisan cache:clear 
4. composer dump-autoload 
5. php artisan key:generate

I had this problem …

answered Feb 5, 2022 at 11:58

Saeid's user avatar

SaeidSaeid

1801 silver badge7 bronze badges

I read all the comments and suggestions. 500 — HTTP ERROR CODE represents internal server error.

Reasons for this error:

  • These mainly cause due to permission issues
  • Environment variables not found or .env file not found on your root directory
  • PHP extensions problem
  • Database problem

Fix:

  • Set the correct permissions:
  • Run these commands (Ubuntu/Debian)
find /path/to/your/root/dir/ -type f -exec chmod 644 {} ;
find /path/to/your/root/dir/ -type d -exec chmod 755 {} ;

chown -R www-data:www-data /path/to/your/root/dir/

chgrp -R www-data storage bootstrap/cache
chmod -R ug+rwx storage bootstrap/cache
  • If .env file doesn’t exist, create one by touch .env and paste your environment variables and then run
   php artisan key:generate
   php artisan cache:clear
   php artisan config:clear
   composer dump-autoload
  • Check your php.ini file and uncomment the extensions you need (In some case you have to install the extension by running this command apt-get install php7.2-[extension-name]
  • Check your database credentials and values in .env file. And grant permissions to the database user for that database.

These are some common problem you likely going to face when deploying your laravel app and once you start getting all these commands, I suggest you to make a script which will save your time.

answered Jun 30, 2019 at 7:11

Smit Patel's user avatar

Smit PatelSmit Patel

1,63817 silver badges21 bronze badges

I had PHP 7.0 and PHP 7.1 installed and I was using PHP 7.1 on command line and PHP 7.0 was enabled on Apache, that messy can bring problems when you are using Laravel Framework and localhost Apache2 with laravel.

Check your composer file first to see your PHP version.

"php": "^7.1.3",
"laravel/framework": "5.6.*",

Check your currently php version on command line

php -v

Check your currently php version enabled on Apache, I did using browser.

http://localhost

If it’s not the same disable the current version and enable the newest one.

sudo a2dismod php7.2

sudo a2enmod php7.1

sudo service apache2 restart

After that change folder permissions

sudo chmod 755 -R blog

for storage folder

chmod -R o+w blog/storage

answered Aug 31, 2018 at 20:58

Saulo Campos's user avatar

0

A frequent issue when using git:

Laravel's .gitignore ignores the .env file which when missing generates this error

Solved this by manually adding an .env file on the server or uploading it through FTP

answered Dec 31, 2018 at 17:05

Maroun Melhem's user avatar

Maroun MelhemMaroun Melhem

2,7601 gold badge19 silver badges22 bronze badges

First, if there is not .env file in your Laravel repository. Copy the .env.example file using the following cmd command cp .env.example .env and open .env file and apply your configuration if needed.

Run these commands:

//---Generate Key in your project
php artisan key:generate
//---Flush the application cache
php artisan cache:clear
//---Remove the configuration cache file
php artisan config:cache
php artisan config:clear
//---Regenerates the list of all classes that need to be included in the project
composer dump-autoload
//---Restart your Server
php artisan serve

answered May 13, 2020 at 6:10

Hedayatullah Sarwary's user avatar

Sometimes there is problem with php version. We need to change php version from server. Just write down below string in .htaccess file:

AddHandler application/x-httpd-php5 .php

Alexander Farber's user avatar

answered Oct 5, 2016 at 9:24

Riyan Sheikh's user avatar

0

First allow all permissions for your project folder (let say it’s called laravel), for the storage subfolder and its logs subsubfolder and for the vendor subfolder (laravel/storage, laravel/storage/logs and laravel/vendor).

Then check if your have .env file — if not you can run:

$ mv .env.example .env

to rename your build-in .env.example to the needed .env.

Otherwise turn on the debug mode — open .env and set

APP_DEBUG=true

and open laravel/config/app.php and change

'debug' => env('APP_DEBUG', false), 

to

'debug' => env('APP_DEBUG', true),

so you can find out what is the reason for your error.

answered Nov 29, 2016 at 15:03

tsveti_iko's user avatar

tsveti_ikotsveti_iko

6,1783 gold badges43 silver badges37 bronze badges

2

Run these two commands in the directory where Laravel is installed:

sudo chmod 755 -R DIRECTORY_NAME
chmod -R o+w DIRECTORY_NAME/storage

Then clear the cache and dump the auto load:

php artisan cache:clear
composer dump-autoload

zx485's user avatar

zx485

27.8k28 gold badges54 silver badges59 bronze badges

answered Mar 13, 2017 at 16:23

Ayman's user avatar

AymanAyman

313 bronze badges

I have faced this problem many times. Try one of these steps it helped me a lot. Maybe it will also help you.

  1. First of all check your file permissions.
  2. To fix file permissions sudo chmod 755 -R your_project
  3. Then chmod -R o+w your_project/storage to write file to storage folder.
  4. php artisan cache:clear
    composer dump-autoload
  5. php artisan key:generate
  6. Then check server requirements as per the laravel requirement.
  7. Many times you got this error because of the php version. Try changing your php version in cpanel.
  8. Then configure your .htaccess file properly

answered Jan 13, 2019 at 13:00

Anand Mainali's user avatar

Anand MainaliAnand Mainali

9231 gold badge13 silver badges23 bronze badges

If you use vagrant, try this:

First remove config.php in current/vendor.

Run these command:

php artisan config:clear
php artisan clear-compiled
php artisan optimize

NOT RUN php artisan config:cache.

Hope this help.

answered Feb 10, 2020 at 9:32

Hanh Nguyen's user avatar

Hanh NguyenHanh Nguyen

1251 silver badge12 bronze badges

if its on a live server try this

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews -Indexes
</IfModule>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /


# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

then also make sure that the php version in your composer.json is the same as that of your server.

Check your php version in your terminal using php -v

answered May 13, 2019 at 20:26

The Billionaire Guy's user avatar

Check if your .env file is present or not in file structure.
if not, follow the procedures:

  1. run command cp .env.example .env from projects root directory.
  2. run command php artisan key:generate
  3. refresh the browser.

Thanks.

answered May 4, 2022 at 6:53

Mehraab Hossain's user avatar

0

Run these two commands on root of laravel

find * -type d -print0 | xargs -0 chmod 0755 # for directories

find . -type f -print0 | xargs -0 chmod 0644 # for files

answered Jun 7, 2016 at 17:43

Davinder Singh's user avatar

I have a similar issue with a share Host. I was having 500 error. I just fixed by checking the Laravel version and PHP version. The error was because Laravel 5.6 doesn’t run on PHP 7.0.x Once I know this I just reconfigure the project to Laravel 5.5 that is compatible with PHP 7.0.x now everything is right. Another reason I have issues sometimes is the FTP I get corrupted Files and have to upload the project more than once.
Hope this help in the future I don’t found so many information in this topic.

answered Feb 21, 2018 at 13:07

Josean Maya's user avatar

0

For those of you who like me still got errors after trying all the other answers :

Check the version of php apache uses, latest laravel only works with php7.1.
So you have to :

sudo a2dismod php[yourversion]
sudo a2enmod php7.1
sudo systemctl restart apache2

hope this helps

answered Apr 26, 2018 at 12:06

Ika's user avatar

Make sure, you’ve run composer update on your server instance.

answered Jan 2, 2020 at 7:22

Usama Munir's user avatar

Usama MunirUsama Munir

5899 silver badges11 bronze badges

I fixed this problem by this commands:

mv .env.example .env
php artisan cache:clear
composer dump-autoload
php artisan key:generate

then

php artisan serve

Dharman's user avatar

Dharman

29.1k21 gold badges79 silver badges131 bronze badges

answered Feb 24, 2021 at 19:55

Adam's user avatar

AdamAdam

3093 silver badges8 bronze badges

0

According to the logs :

[06-Feb-2016 22:38:48 Europe/Berlin] PHP Warning:  require(/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:38:48 Europe/Berlin] PHP Fatal error:  require(): Failed opening required '/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.0/lib/php') in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:43:37 Europe/Berlin] PHP Warning:  require(/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17
[06-Feb-2016 22:43:37 Europe/Berlin] PHP Fatal error:  require(): Failed opening required '/Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.0/lib/php') in /Users/tomsihap/Documents/Development/mamp/partie_1_exo/bootstrap/autoload.php on line 17

There are some failures opening files into the /vendor folder.

By installing and updating via composer, I was able to finally solve the issue.

sudo composer install
sudo composer update

answered Feb 6, 2016 at 23:46

tomsihap's user avatar

tomsihaptomsihap

1,69218 silver badges27 bronze badges

Make sure storage folder with write previlege (chmod o+w), work for me like a charm.

answered Sep 21, 2016 at 1:32

user3619249's user avatar

0

Because of no right to write the log’s directory.
chmod 755 storage -R

answered Nov 10, 2016 at 22:11

George Peter's user avatar

George PeterGeorge Peter

691 gold badge1 silver badge6 bronze badges

1

I faced this issue and fixed by upgrade my php version in apache up to 5.6.x

answered Jul 22, 2017 at 21:50

Mahmoud Niypoo's user avatar

Mahmoud NiypooMahmoud Niypoo

1,4883 gold badges23 silver badges39 bronze badges

Всем доброго времени суток!
Ребят, тут дело такое.. перестало заходить в админку по ссылке site.com/admin после того как я дома ОС переустановил =) выдает ошибку 500. До этого все работало.
В логах по адресу /storage/logs/laravel.log ошибки нет; права выставлял 777 — все впустую; все файлы с бекапом сверял — все в порядке; и перезагружал тоже. Пытался с разных браузеров заходить результат тот же.
Позже додумался зайти поглубже site.com/admin/pages или site.com/admin/all и т.д. по этим ссылкам переходит и все нормально работает, а вот site.com/admin никак не хочет. Чудеса.
До этого раньше бывало, браузер хром в админке ломался и ошибки выдавал. Вроде все.

Спасибо!


  • Вопрос задан

    более трёх лет назад

  • 10498 просмотров

1) Включите в .env
APP_DEBUG=true
Должно выводить подробности ошибки на экран (500 — ни о чем не говорит).

2) Если нет, то это может быть ошибка веб-сервера. (например, некорректный htaccess).

>>В логах по адресу /storage/logs/laravel.log ошибки нет;

скорее всего до ларавеля не доходит, либо не может его запустить.

для начала посмотри логи веб-сервера,
.htaccess
версию php
сделайте файл <?php phpinfo(); и посмотрите срабатывает ли он

Пригласить эксперта

Ну здесь телепатов нет, поэтому включайте debug режим и смотрите, в чем проблемы.

Ребят, все же проблема была как мне кажется в htaccess, сейчас еще разок решил установить разрешения 755 на все файлы, но только через ftp и все заработало, до этого менял через терминал.
А вообще какое должно быть разрешение на файлах и на каталогах?
до этого всегда ставил на каталоги 755, на файлы 644.


  • Показать ещё
    Загружается…

28 янв. 2023, в 15:24

11000 руб./за проект

28 янв. 2023, в 15:09

5000 руб./за проект

28 янв. 2023, в 15:04

1000 руб./в час

Минуточку внимания

Cover image for Laravel Internal Server Error 500 (solution)

Osman Forhad

Osman Forhad

Posted on Jan 20, 2021

• Updated on Mar 12, 2022

Basically, internal server error 500 is Laravel errors it’s not related to javascript or any other, to check this error go to chrome inspect->network and see the response.
it would be looks like the below screenshot.
Alt Text
This type of issue must be in controller related issue to solve this you have to check your controller function is written well,
.
and then you should check your router file whether (web.php or api.php) where you mention your controller file is properly.
.
If you are confused about why it’s happened and it too much worries you.
.
Here is another easy method to find out what is happening wrong. And this is your Laravel log file. Please check your Laravel log file. Hope you will find out your issue and solve it properly.
.
Happy Coding.
osman forhad
Mobile & Web Application Developer💻

Read next


wspowell profile image

Follow Up: Establishing A Better Pattern

Wesley Powell — Sep 9 ’22


balajidharma profile image

How to create a multiple-page application with Laravel 9 and Vue 3

Balaji Dharma — Sep 8 ’22


ameliniya_ profile image

How to get started with Filament

Amela🦦 — Sep 7 ’22


agenceappy profile image

Generating PO files with Laravel & translating Blade templates

Agence Appy — Sep 7 ’22

Once unpublished, all posts by osmanforhad will become hidden and only accessible to themselves.

If osmanforhad is not suspended, they can still re-publish their posts from their dashboard.

Note:

Once unpublished, this post will become invisible to the public and only accessible to Osman Forhad.

They can still re-publish the post if they are not suspended.

Thanks for keeping DEV Community 👩‍💻👨‍💻 safe. Here is what you can do to flag osmanforhad:

Make all posts by osmanforhad less visible

osmanforhad consistently posts content that violates DEV Community 👩‍💻👨‍💻’s
code of conduct because it is harassing, offensive or spammy.

#1 26.03.2018 10:14:58

Загрузка Laravel на хостинг (HTTP ERROR 500)

Подскажите, как исправить ошибку. Загрузил проект laravel на хостинг. При загрузке в браузере отображается HTTP ERROR 500. На локальном веб-сервере все работает. Использую Open Server на Windows.

#2 26.03.2018 10:56:09

Re: Загрузка Laravel на хостинг (HTTP ERROR 500)

mod_rewrite включен.
права доступа к storage и bootstrap/cache установил 777

#3 26.03.2018 13:19:13

Re: Загрузка Laravel на хостинг (HTTP ERROR 500)

права доступа к storage и bootstrap/cache установил 777  — это не безопасно.. у вас чето с пользователем и группой напутано или не доступно… их настраивайте. а права должны быть типа  sudo chmod -R 2775 *
короче 775, а не 777. я тоже на это напарывался. только у меня линукс с нгинксом. к сисадмину обратитесь за помощью

#4 26.03.2018 15:09:57

Re: Загрузка Laravel на хостинг (HTTP ERROR 500)

хорошо, на счет прав доступа понял. Пробовал запустить проект на Open Server с версией php 7.0 появляется аналогичная 500-я ошибка, как и на хостинге. На хостинге тоже версия php 7.0. Работает только с версией 7.1.7 локально. Проект только создан (laravel new blog), ничего в нем не изменял. Может проблема в версии php на хостинге или версии apache.

#6 27.03.2018 12:40:57

Re: Загрузка Laravel на хостинг (HTTP ERROR 500)

версия пхп низкая слишком.
на официальном сайте же написано
requirements:

PHP >= 7.1.3
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
XML PHP Extension
Ctype PHP Extension
JSON PHP Extension

#7 27.03.2018 13:28:59

Re: Загрузка Laravel на хостинг (HTTP ERROR 500)

Да, проблема была именно в версии. Спасибо!

Изменено sergeyruban (27.03.2018 13:29:10)

Version


Icon

WARNING You’re browsing the documentation for an old version of Laravel.
Consider upgrading your project to Laravel 9.x.

Error Handling

  • Introduction
  • Configuration
  • The Exception Handler

    • Report Method
    • Render Method
    • Reportable & Renderable Exceptions
  • HTTP Exceptions

    • Custom HTTP Error Pages

Introduction

When you start a new Laravel project, error and exception handling is already configured for you. The AppExceptionsHandler class is where all exceptions triggered by your application are logged and then rendered back to the user. We’ll dive deeper into this class throughout this documentation.

Configuration

The debug option in your config/app.php configuration file determines how much information about an error is actually displayed to the user. By default, this option is set to respect the value of the APP_DEBUG environment variable, which is stored in your .env file.

For local development, you should set the APP_DEBUG environment variable to true. In your production environment, this value should always be false. If the value is set to true in production, you risk exposing sensitive configuration values to your application’s end users.

The Exception Handler

The Report Method

All exceptions are handled by the AppExceptionsHandler class. This class contains two methods: report and render. We’ll examine each of these methods in detail. The report method is used to log exceptions or send them to an external service like Flare, Bugsnag or Sentry. By default, the report method passes the exception to the base class where the exception is logged. However, you are free to log exceptions however you wish.

For example, if you need to report different types of exceptions in different ways, you may use the PHP instanceof comparison operator:

/**

* Report or log an exception.

*

* This is a great spot to send exceptions to Flare, Sentry, Bugsnag, etc.

*

* @param Throwable $exception

* @return void

*/

public function report(Throwable $exception)

{

if ($exception instanceof CustomException) {

//

}

parent::report($exception);

}

{tip} Instead of making a lot of instanceof checks in your report method, consider using reportable exceptions

Global Log Context

If available, Laravel automatically adds the current user’s ID to every exception’s log message as contextual data. You may define your own global contextual data by overriding the context method of your application’s AppExceptionsHandler class. This information will be included in every exception’s log message written by your application:

/**

* Get the default context variables for logging.

*

* @return array

*/

protected function context()

{

return array_merge(parent::context(), [

'foo' => 'bar',

]);

}

The report Helper

Sometimes you may need to report an exception but continue handling the current request. The report helper function allows you to quickly report an exception using your exception handler’s report method without rendering an error page:

public function isValid($value)

{

try {

// Validate the value...

} catch (Throwable $e) {

report($e);

return false;

}

}

Ignoring Exceptions By Type

The $dontReport property of the exception handler contains an array of exception types that will not be logged. For example, exceptions resulting from 404 errors, as well as several other types of errors, are not written to your log files. You may add other exception types to this array as needed:

/**

* A list of the exception types that should not be reported.

*

* @var array

*/

protected $dontReport = [

IlluminateAuthAuthenticationException::class,

IlluminateAuthAccessAuthorizationException::class,

SymfonyComponentHttpKernelExceptionHttpException::class,

IlluminateDatabaseEloquentModelNotFoundException::class,

IlluminateValidationValidationException::class,

];

The Render Method

The render method is responsible for converting a given exception into an HTTP response that should be sent back to the browser. By default, the exception is passed to the base class which generates a response for you. However, you are free to check the exception type or return your own custom response:

/**

* Render an exception into an HTTP response.

*

* @param IlluminateHttpRequest $request

* @param Throwable $exception

* @return IlluminateHttpResponse

*/

public function render($request, Throwable $exception)

{

if ($exception instanceof CustomException) {

return response()->view('errors.custom', [], 500);

}

return parent::render($request, $exception);

}

Reportable & Renderable Exceptions

Instead of type-checking exceptions in the exception handler’s report and render methods, you may define report and render methods directly on your custom exception. When these methods exist, they will be called automatically by the framework:

<?php

namespace AppExceptions;

use Exception;

class RenderException extends Exception

{

/**

* Report the exception.

*

* @return void

*/

public function report()

{

//

}

/**

* Render the exception into an HTTP response.

*

* @param IlluminateHttpRequest $request

* @return IlluminateHttpResponse

*/

public function render($request)

{

return response(...);

}

}

{tip} You may type-hint any required dependencies of the report method and they will automatically be injected into the method by Laravel’s service container.

HTTP Exceptions

Some exceptions describe HTTP error codes from the server. For example, this may be a «page not found» error (404), an «unauthorized error» (401) or even a developer generated 500 error. In order to generate such a response from anywhere in your application, you may use the abort helper:

abort(404);

The abort helper will immediately raise an exception which will be rendered by the exception handler. Optionally, you may provide the response text:

abort(403, 'Unauthorized action.');

Custom HTTP Error Pages

Laravel makes it easy to display custom error pages for various HTTP status codes. For example, if you wish to customize the error page for 404 HTTP status codes, create a resources/views/errors/404.blade.php. This file will be served on all 404 errors generated by your application. The views within this directory should be named to match the HTTP status code they correspond to. The HttpException instance raised by the abort function will be passed to the view as an $exception variable:

<h2>{{ $exception->getMessage() }}</h2>

You may publish Laravel’s error page templates using the vendor:publish Artisan command. Once the templates have been published, you may customize them to your liking:

php artisan vendor:publish --tag=laravel-errors

PHP: 7.2
Laravel: 5.7

Some requests failed with below error(Http 500- Server error), while other requests along the same request are successful. Passport is used to authenticate api request. api auth middleware is used.

production.ERROR: No application encryption key has been specified. {«exception»:»[object] (RuntimeException(code: 0): No application encryption key has been specified. at F:wamp64wwwservicevendorlaravelframeworksrcIlluminateEncryptionEncryptionServiceProvider.php:42)
[stacktrace]
#0 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateSupporthelpers.php(1041): IlluminateEncryptionEncryptionServiceProvider->IlluminateEncryption{closure}(NULL)
#1 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateEncryptionEncryptionServiceProvider.php(46): tap(NULL, Object(Closure))
#2 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateEncryptionEncryptionServiceProvider.php(24): IlluminateEncryptionEncryptionServiceProvider->key(Array)
#3 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateContainerContainer.php(764): IlluminateEncryptionEncryptionServiceProvider->IlluminateEncryption{closure}(Object(IlluminateFoundationApplication), Array)
#4 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateContainerContainer.php(646): IlluminateContainerContainer->build(Object(Closure))
#5 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateContainerContainer.php(601): IlluminateContainerContainer->resolve(‘encrypter’, Array)
#6 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateFoundationApplication.php(734): IlluminateContainerContainer->make(‘encrypter’, Array)
#7 F:wamp64wwwservicevendorlaravelpassportsrcPassportServiceProvider.php(271): IlluminateFoundationApplication->make(‘encrypter’)
#8 [internal function]: LaravelPassportPassportServiceProvider->LaravelPassport{closure}(Object(IlluminateHttpRequest), NULL)
#9 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateAuthRequestGuard.php(58): call_user_func(Object(Closure), Object(IlluminateHttpRequest), NULL)
#10 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateAuthGuardHelpers.php(60): IlluminateAuthRequestGuard->user()
#11 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateAuthMiddlewareAuthenticate.php(61): IlluminateAuthRequestGuard->check()
#12 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateAuthMiddlewareAuthenticate.php(41): IlluminateAuthMiddlewareAuthenticate->authenticate(Array)
#13 F:wamp64wwwservicevendorlaravelframeworksrcIlluminatePipelinePipeline.php(151): IlluminateAuthMiddlewareAuthenticate->handle(Object(IlluminateHttpRequest), Object(Closure), ‘api’)
#14 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingPipeline.php(53): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))
#15 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingMiddlewareThrottleRequests.php(57): IlluminateRoutingPipeline->IlluminateRouting{closure}(Object(IlluminateHttpRequest))
#16 F:wamp64wwwservicevendorlaravelframeworksrcIlluminatePipelinePipeline.php(151): IlluminateRoutingMiddlewareThrottleRequests->handle(Object(IlluminateHttpRequest), Object(Closure), 120, ‘1’)
#17 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingPipeline.php(53): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))
#18 F:wamp64wwwservicevendorlaravelframeworksrcIlluminatePipelinePipeline.php(104): IlluminateRoutingPipeline->IlluminateRouting{closure}(Object(IlluminateHttpRequest))
#19 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingRouter.php(667): IlluminatePipelinePipeline->then(Object(Closure))
#20 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingRouter.php(642): IlluminateRoutingRouter->runRouteWithinStack(Object(IlluminateRoutingRoute), Object(IlluminateHttpRequest))
#21 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingRouter.php(608): IlluminateRoutingRouter->runRoute(Object(IlluminateHttpRequest), Object(IlluminateRoutingRoute))
#22 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingRouter.php(597): IlluminateRoutingRouter->dispatchToRoute(Object(IlluminateHttpRequest))
#23 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateFoundationHttpKernel.php(176): IlluminateRoutingRouter->dispatch(Object(IlluminateHttpRequest))
#24 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingPipeline.php(30): IlluminateFoundationHttpKernel->IlluminateFoundationHttp{closure}(Object(IlluminateHttpRequest))
#25 F:wamp64wwwservicevendorspatielaravel-corssrcCors.php(28): IlluminateRoutingPipeline->IlluminateRouting{closure}(Object(IlluminateHttpRequest))
#26 F:wamp64wwwservicevendorlaravelframeworksrcIlluminatePipelinePipeline.php(151): SpatieCorsCors->handle(Object(IlluminateHttpRequest), Object(Closure))
#27 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingPipeline.php(53): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))
#28 F:wamp64wwwservicevendorfideloperproxysrcTrustProxies.php(57): IlluminateRoutingPipeline->IlluminateRouting{closure}(Object(IlluminateHttpRequest))
#29 F:wamp64wwwservicevendorlaravelframeworksrcIlluminatePipelinePipeline.php(151): FideloperProxyTrustProxies->handle(Object(IlluminateHttpRequest), Object(Closure))
#30 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingPipeline.php(53): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))
#31 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareTransformsRequest.php(31): IlluminateRoutingPipeline->IlluminateRouting{closure}(Object(IlluminateHttpRequest))
#32 F:wamp64wwwservicevendorlaravelframeworksrcIlluminatePipelinePipeline.php(151): IlluminateFoundationHttpMiddlewareTransformsRequest->handle(Object(IlluminateHttpRequest), Object(Closure))
#33 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingPipeline.php(53): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))
#34 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareTransformsRequest.php(31): IlluminateRoutingPipeline->IlluminateRouting{closure}(Object(IlluminateHttpRequest))
#35 F:wamp64wwwservicevendorlaravelframeworksrcIlluminatePipelinePipeline.php(151): IlluminateFoundationHttpMiddlewareTransformsRequest->handle(Object(IlluminateHttpRequest), Object(Closure))
#36 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingPipeline.php(53): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))
#37 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareValidatePostSize.php(27): IlluminateRoutingPipeline->IlluminateRouting{closure}(Object(IlluminateHttpRequest))
#38 F:wamp64wwwservicevendorlaravelframeworksrcIlluminatePipelinePipeline.php(151): IlluminateFoundationHttpMiddlewareValidatePostSize->handle(Object(IlluminateHttpRequest), Object(Closure))
#39 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingPipeline.php(53): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))
#40 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareCheckForMaintenanceMode.php(62): IlluminateRoutingPipeline->IlluminateRouting{closure}(Object(IlluminateHttpRequest))
#41 F:wamp64wwwservicevendorlaravelframeworksrcIlluminatePipelinePipeline.php(151): IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode->handle(Object(IlluminateHttpRequest), Object(Closure))
#42 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateRoutingPipeline.php(53): IlluminatePipelinePipeline->IlluminatePipeline{closure}(Object(IlluminateHttpRequest))
#43 F:wamp64wwwservicevendorlaravelframeworksrcIlluminatePipelinePipeline.php(104): IlluminateRoutingPipeline->IlluminateRouting{closure}(Object(IlluminateHttpRequest))
#44 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateFoundationHttpKernel.php(151): IlluminatePipelinePipeline->then(Object(Closure))
#45 F:wamp64wwwservicevendorlaravelframeworksrcIlluminateFoundationHttpKernel.php(116): IlluminateFoundationHttpKernel->sendRequestThroughRouter(Object(IlluminateHttpRequest))
#46 F:wamp64wwwservicepublicindex.php(55): IlluminateFoundationHttpKernel->handle(Object(IlluminateHttpRequest))
#47 {main}
«}

Fixed - Ajax Post 500 (Internal Server Error) In Laravel 8

Hi Guys,

If you are fetching 500 internal server error in jquery ajax post request in laravel 8, then you are a right place. Here i will let you know how to fixed Ajax Post 500 (Internal Server Error) request in laravel 8.

If you know well laravel then you know about csrf token, laravel provide best security using csrf token. So you have each time pass csrf_token when you fire ajax post, delete or put request. You can generate csrf token using csrf_token() helper of laravel 8.

So, Here i will see you how to generate csrf_token and pass on each ajax request of jquery. So let’s you have to add bellow meta tag and then you have to simple pass headers. It will automatically pass token on each post request.

Add Meta tag:

<meta name="csrf-token" content="{{ csrf_token() }}">

Add JS Code:

$.ajaxSetup({

headers: {

'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')

}

});

As above both code, you have to write in each page so you can simply put in layout page.

I hope it help you…

#Laravel 8

#Laravel 7

#Laravel

#Laravel 6

✌️ Like this article? Follow me on Twitter and Facebook. You can also subscribe to RSS Feed.

Posted 4 years ago by Ryan Dhungel

Category: JavaScript React Laravel

Viewed 18801 times

Estimated read time: 2 minutes

Have you been getting 500 Internal Server Error in your Laravel project every time you make a POST request from JavaScript side of your application using Vue JS or React JS?

There might be three possible reasons

  • You are not using the correct post route
  • You have not set the protected fillable fields in your model
  • You are not sending all required fields for example title and body

Possible solutions

Make sure you are using post route such as Route::post(‘/blogs’);

Set the fillable fields, for example here on my Blog model, I have set these fields fillable:

protected $fillable = ['title', 'body'];

Send all the required fields in your post request. Here I have send the title and body as POST request from react component using axios

        axios
            .post('/blog/store', {
                title: this.state.title,
                body: this.state.body
            })
            .then(response => {
                console.log('from handle submit', response);
            });

you can also try setting mysql strict mode to false in config/database.php and see what happens:

'strict' => false,

It changing strict to false fixes the issue, then you are not sending all the fields on your post request.

Easy debugging:

When you make such GET or POST request from JavaScript side of your application, always open the network tab in the google chrome console and click on the post link that appears. Click on that link and click on Preview tab to see the error messages etc.

Hope you were able to pass through your error messages. If so.. congrats!



  • June 6, 2017
  • Laravel

When you get an error 500 screen with a red bar at the top stating Whoops, looks like something went wrong. running your Laravel app you might spend a lot of time debugging your Nginx configuration like I did before. You will be looking at the wrong place. Here is what is up and how you can solve this.

Laravel Error

This error you are getting in the top bar besides the general error 500 warning in the access logs probably at /var/log/nginx/error.log  stating Whoops, looks like something went wrong followed by the ghost icon and word Exception is a Laravel error. The red bar and text is generated by Laravel , not Nginx!. So you should check the Laravel log to see what is up. And perhaps you have not turned on Laravel logging properly so you will then need to add:

APP_ENV=local

to the .env file. In my case the issue was that is was all empty as I was working on setting up a new deployment mechanism.

NB If if it was not for you and you did have this line then you simply need to check the log.

Laravel Logging

With error logging now finally working (if you did had an empty .env as me before) you will start logging in Laravel. You will be able to see this kind of error in storage/logs/laravel.log :

production.ERROR: RuntimeException: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths. in /var/www/domain.com/releases/1/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php:43

followed by the full stack trace. This as you are also missing your Laravel key in the .env as well.

Generating Laravel Key

To fix this missing key issue do a:

php artisan key:generate

Then copy the output in the brackets, and put it in your .env file as:

APP_KEY=base64:keygoeshere

Clearing Laravel Cache

Then you need to clear the cache to load the new key / .env changes. To do this do a:

 php artisan config:clear

followed by a:

php artisan config:cache

Now you should be able to see the Laravel welcome page or whatever page you have set up to load as the main page for the domain.

Tagged in : Tagged in : error 500, laravel

Jasper Frumau

Jasper has been working with web frameworks and applications such as Laravel, Magento and his favorite CMS WordPress including Roots Trellis and Sage for more than a decade. He helps customers with web design and online marketing. Services provided are web design, ecommerce, SEO, content marketing. When Jasper is not coding, marketing a website, reading about the web or dreaming the internet of things he plays with his son, travels or run a few blocks.

Related Articles

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • 500 ошибка при переносе modx
  • 500 ошибка при авторизации