Bonjour,

J'ai un probleme pour deployer mon site web fait avec laravel 5.5 on me renvoie toujours une erreur 500 internal server error.
pourtant quant je deploie un site web avec laravel 5.2 ca marche sans probleme. je suis confus car je sais pas ou le probleme se trouve

Ce que je fais

En effet je publie un site web de la maniere suivante : je met l'application dans un dossier et je met le contenu du dossier **public* dans la racine de mon sous-domaine puis je modifie mon fichier index.php et mon .htaccess
mon application laravel est dans le dossiers
resto et mon dossier public est a la racine du sous-domaine resto.easy-study.eu*
. et je tient a preciser que ces dossiers sont a la racine du serveur.
INDEX.PHP

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylor@laravel.com>
 */

define('LARAVEL_START', microtime(true));

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual
| loading any of our classes later on. It feels great to relax.
|
*/

//require __DIR__.'/../vendor/autoload.php';
require '../resto/bootstrap/autoload.php';
/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/

//$app = require_once __DIR__.'/../bootstrap/app.php';
$app = require_once '../resto/bootstrap/app.php';

$app->bind('path.public', function() {
    return __DIR__;
});
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

$response->send();

$kernel->terminate($request, $response);

.HTACCESS

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

   RewriteEngine On
   # Redirect Trailing Slashes...
   RewriteCond %{REQUEST_URI} !^
   RewriteRule ^(.*)$ /$1 [L]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)$ /index.php/$1 [L]

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

</IfModule>

Ce que je veux

je voudrai vraiment de l'aide pour trouver une solution a ce probleme je sais vraiment pas ce qui cloche.

Ce que j'obtiens

voici ce que j'obtient a la racine de mon site une page blanche => http://resto1-1.easy-study.eu/

et kan je met une route en particulier j'obtient une erreur interne => http://resto1-1.easy-study.eu/login

3 réponses


Hello,

Normalement en aucun cas tu ne dois toucher le index.php qui se trouve dans public.
Il faudrait les logs de l'erreur 500. Il est possible que ce soit un soucis d'écriture par exemple (il n'arrive pas à écrire dans storage/log).

As tu bien installé les librairies avec uncomposer install ?

J'ai bien installé les librairies. et si je modifie le fichier index.php c'est pour indiquer le chemin de l'autoload et le fichier bootstrap app. C'est la méthode universerlle pour mettre un site laravel en ligne car avec laravel 5.2 tout marche parfaitement mais avec laravel 5.5 rien ne donne et je ne sais pas pourquoi

Hello

C'est la méthode universerlle pour mettre un site laravel en ligne

Sur toutes les applis Laravel que j'ai pu déployé, je n'ai jamais touché à ce fichier :)

As tu vérifié la version de PHP côté serveur ? Est-elle compatible avec la version 5.5 de Laravel ?
Il faut au minimum la PHP 7.0 (contrairement à la 7.2 qui peut fonctionner avec du 5.5.9)