He instalado Laravel muchas veces en el sistema operativo Windows, pero nunca ocurrió este tipo de problema. Este servidor interno 500 generalmente ocurre cuando su módulo "mod_rewrite" no está encendido.
Sin embargo, en Ubuntu 14.04 este problema me está dando dolor de cabeza. He instalado rewrite_mod pero tampoco funciona. He dado acceso a todas mis carpetas y archivos dentro, es decir.
/ var / www / html / laravel_project
Todavía no funciona. También se cambió .htaccess del original a este.
+FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
También tengo todas las extensiones necesarias para Laravel 5+. ¿Queda algo que no hice?
+FollowSymLinks
en la parte superior? Debería serOptions +FollowSymLinks
.AllowOverride
en la configuración de su servidor?Respuestas:
Finalmente superó el problema
Para resolver el problema ejecuté los siguientes comandos a través de la terminal.
sudo chmod -R 755 laravel_blog
y luego escriba a continuación para permitir que laravel escriba el archivo en la carpeta de almacenamiento
Estos dos comandos resolvieron el problema.
fuente
Cree el archivo .env y también ejecute:
Esto funcionó para mí después de sacar un proyecto de git.
Después de crear el archivo .env y generar la clave, ejecute el siguiente código:
fuente
php artisan cache:clear php artisan config:clear
está trabajando para mi casoDespués de instalar ejecutar el comando debajo
sudo chmod 755 -R laravel chmod -R o+w laravel/storage
aquí "laravel" es el nombre del directorio donde se instaló laravel
fuente
composer install
sudo chmod -R 755 laravel
la ubicación de la -R es incorrectaIntente verificar si tiene
.env
file.Sobre todo esto puede causar algo así. Intente crear un archivo, luego copie todo desde
.env.example
, péguelo en su archivo creado y asígnele un nombre.env
. o simplemente cambie el nombre del.env.example
archivo a.env
y ejecutephp artisan key:generate
fuente
Asegúrese de que exista un archivo .env, que contenga una APP_KEY , en la raíz.
Lo que debería estar en el .env no se ha indicado explícitamente en otras soluciones, y pensé que lo reduciría a la oración anterior.
Esto solucionó mi error 500 en una instalación nueva de Laravel.
Pasos:
touch .env
)APP_KEY=
php artisan key:generate
Notas:
Mi instalación particular no incluía ningún .env en absoluto (ejemplo o no)
Simplemente tener un .env en blanco no funciona.
Un .env que contiene parámetros, pero no un
APP_KEY
parámetro, no funciona.¿Error ?: Al generar una clave de aplicación en la terminal, puede informar como exitosa, sin embargo , ninguna clave se colocará en el .env si el archivo no tiene una
APP_KEY=
línea preexistente .Como referencia, aquí está el .env oficial con parámetros de referencia útiles. Copie y pegue lo que necesite:
https://github.com/laravel/laravel/blob/master/.env.example
fuente
Me he enfrentado a un error similar. Revisé el inicio de sesión
/var/log/apache2/error.log
y encontré una excepción UnexpectedValueExceptionCambié el propietario a mi usuario apache de la carpeta de almacenamiento en el directorio del proyecto.
En mi caso, el propietario del proceso apache2 es
www-data
, así que cámbielo por el suyo, esto se puede encontrar en el archivo de configuración apache2. Espero que esto te sea útil.fuente
Lo arreglé con este comando:
rm -rf app/storage/logs/laravel.logs chmod -R 777 app/storage, php artisan cache:clear, php artisan dump-autoload OR composer dump-autoload
Que reiniciar un servidor o XAMPP u otro y eso debería estar funcionando.
fuente
Puede otra solución a este problema:
Instale los paquetes necesarios ejecutando el comando composer desde la raíz del proyecto:
ACTUALIZAR:
EDITAR:
fuente
Tenía PHP 7.0 y PHP 7.1 instalados y estaba usando PHP 7.1 en la línea de comandos y PHP 7.0 estaba habilitado en Apache, ese desorden puede traer problemas cuando usa Laravel Framework y localhost Apache2 con laravel.
Primero verifique su archivo de redacción para ver su versión de PHP.
"php": "^7.1.3", "laravel/framework": "5.6.*",
Verifique su versión actual de php en la línea de comandos
Verifique su versión de php actualmente habilitada en Apache, lo hice usando el navegador.
http://localhost
Si no es lo mismo, desactive la versión actual y active la más reciente.
sudo a2dismod php7.2 sudo a2enmod php7.1 sudo service apache2 restart
Después de eso, cambie los permisos de la carpeta
sudo chmod 755 -R blog
para carpeta de almacenamiento
fuente
Un problema frecuente al usar git:
Laravel's .gitignore ignores the .env file which when missing generates this error
Resolvió esto agregando manualmente un archivo .env en el servidor o cargándolo a través de FTP
fuente
A veces hay problemas con la versión de php. Necesitamos cambiar la versión de php del servidor. Simplemente escriba debajo de la cadena en el archivo .htaccess :
fuente
Primero, permita todos los permisos para la carpeta de su proyecto (digamos que se llama laravel), para la subcarpeta de almacenamiento y su subcarpeta de registros y para la subcarpeta del proveedor (laravel / almacenamiento, laravel / almacenamiento / registros y laravel / proveedor).
Luego verifique si tiene un archivo .env; de lo contrario, puede ejecutar:
para cambiar el nombre de su .env.example incorporado al .env necesario.
De lo contrario, active el modo de depuración: abra .env y configure
APP_DEBUG=true
y abra laravel / config / app.php y cambie
'debug' => env('APP_DEBUG', false),
a
'debug' => env('APP_DEBUG', true),
para que pueda averiguar cuál es el motivo de su error.
fuente
Ejecute estos dos comandos en el directorio donde está instalado Laravel:
sudo chmod 755 -R DIRECTORY_NAME chmod -R o+w DIRECTORY_NAME/storage
Luego borre la caché y descargue la carga automática:
fuente
Me he enfrentado a este problema muchas veces. Pruebe uno de estos pasos, me ayudó mucho. Quizás también te ayude.
composer dump-autoload
fuente
Leo todos los comentarios y sugerencias. 500 - El CÓDIGO DE ERROR HTTP representa un error interno del servidor.
Razones de este error:
.env
archivo no encontrado en su directorio raízReparar:
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
touch .env
y pegue las variables de entorno y luego ejecuteapt-get install php7.2-[extension-name]
.env
archivo. Y otorgue permisos al usuario de la base de datos para esa base de datos.Estos son algunos problemas comunes que probablemente enfrentará al implementar su aplicación laravel y cuando comience a obtener todos estos comandos, le sugiero que cree un script que le ahorrará tiempo.
fuente
Si usa vagrant, intente esto:
Primero elimine config.php en current / vendor.
Ejecute este comando:
NO EJECUTE php artisan config: cache.
Espero que esto ayude.
fuente
Ejecute estos dos comandos en la raíz de laravel
buscar * -type d -print0 | xargs -0 chmod 0755 # para directorios
encontrar . -tipo f -print0 | xargs -0 chmod 0644 # para archivos
fuente
Tengo un problema similar con un host compartido. Estaba teniendo un error 500. Lo solucioné comprobando la versión de Laravel y la versión de PHP. El error fue porque Laravel 5.6 no se ejecuta en PHP 7.0.x Una vez que sé esto, simplemente reconfiguro el proyecto a Laravel 5.5 que es compatible con PHP 7.0.x ahora todo está bien. Otra razón por la que tengo problemas a veces es el FTP. Tengo archivos dañados y tengo que cargar el proyecto más de una vez. Espero que esto ayude en el futuro. No encontré tanta información en este tema.
fuente
Para aquellos de ustedes que como yo todavía tienen errores después de probar todas las otras respuestas:
Verifique la versión de php apache que usa, el último laravel solo funciona con php7.1. Entonces tienes que:
sudo a2dismod php[yourversion] sudo a2enmod php7.1 sudo systemctl restart apache2
espero que esto ayude
fuente
si está en un servidor en vivo, intente esto
<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]
luego también asegúrese de que la versión php en su composer.json sea la misma que la de su servidor.
Verifique su versión de php en su terminal usando
php -v
fuente
Asegúrese de haberlo ejecutado
composer update
en la instancia de su servidor.fuente
Primero, si no hay un archivo .env en su repositorio de laravel. Copie y pegue el archivo .env.example y cámbiele el nombre a .env. luego abra el archivo .env y en la parte de la base de datos proporcione la descripción de su base de datos. Ejecutar: php artisan key: generar php artisan cache: borrar php artisan config: cache php artisan config: clear composer dump-autoload php artisan serve
fuente
Según los registros:
[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
Hay algunos errores al abrir archivos en la carpeta / vendor.
Al instalar y actualizar a través del compositor, finalmente pude resolver el problema.
fuente
Asegúrese de que la carpeta de almacenamiento con escritura previa (chmod o + w) funcione para mí como un encanto.
fuente
Porque no tiene derecho a escribir el directorio del registro.
almacenamiento chmod 755 -R
fuente
Me enfrenté a este problema y lo solucioné actualizando mi versión php en apache hasta 5.6.x
fuente
Solo cambie el permiso de la carpeta web a través de este comando:
sudo chmod 755 -R your_folder
fuente
Acabo de ejecutar el siguiente comando:
php artisan passport:install
Estaba usando Passport para ejecutar mi aplicación completamente basada en API y Vue.js. Laravel funcionó bien, pero cada vez que intentaba iniciar sesión a través de mi API, obtenía el error. Después de ejecutar el comando y actualizar el client_id y client_secret en mis archivos de Laravel y luego enviar las nuevas actualizaciones al servidor en vivo, el problema se resolvió. En mi modelo de usuario tengo un script de la siguiente manera:
public function generateToken($request) { $http = new \GuzzleHttp\Client(); $response = $http->post(URL::to('/').'/oauth/token', [ 'form_params' => [ 'grant_type' => 'password', 'client_id' => '6', 'client_secret' => 'x3yhgWVqF8sSaMev4JI3yvsVxfbgkfRJmqzlpiMQ', 'username' => $this->email, 'password' => $request->input('password'), 'scope' => '', ], ]); // Lets get an array instead of a stdObject so that we can return without errors $response = json_decode($response->getBody(), true); return oq_api_notify([ 'auth' => $response, // API ACCESS TOKEN 'user' => $this->load(['settings'])->toArray(), ], 201); }
Acabo de actualizar el client_id y client_secret y luego los guardé. Dado que el comando de pasaporte le da dos claves de cliente:
1) Cliente de acceso personal (client_id y client_secret)
2) Cliente de concesión de contraseña (client_id y client_secret)
Usé el cliente de concesión de contraseña. Espera que esto ayude a alguien :)
fuente