Mi sitio de laravel estaba funcionando antes, recientemente actualicé a Apache 2.4 y PHP 5.5.7.
Ahora aparece una pantalla en blanco cuando voy a laravel.mydomain.com, nada en los registros de errores de Apache, rutas, etc. debería estar bien, ya que funcionaba antes.
.htaccess se está cargando ya que obtengo un 500 cuando inserto una línea no válida en /var/sites/laravel/public/.htaccess.
Aquí está mi .htaccess:
$ cat /var/sites/laravel/public/.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Aquí está mi directiva de host virtual:
DocumentRoot "/var/sites/laravel/public"
ServerName laravel.mydomain.com
<Directory "/var/sites/laravel/public">
AllowOverride All
allow from all
Options +Indexes
Require all granted
</Directory>
Y apachectl -S
$ /usr/local/apache2/bin/apachectl -S
VirtualHost configuration:
*:* is a NameVirtualHost
default server mydomain.com (/usr/local/apache2/conf/extra/httpd-vhosts.conf:25)
port * namevhost mydomain.com (/usr/local/apache2/conf/extra/httpd-vhosts.conf:25)
port * namevhost laravel.mydomain.com (/usr/local/apache2/conf/extra/httpd- vhosts.conf:34)
ServerRoot: "/usr/local/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/usr/local/apache2/logs/error_log"
Mutex rewrite-map: using_defaults
Mutex default: dir="/usr/local/apache2/logs/" mechanism=default
PidFile: "/usr/local/apache2/logs/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="daemon" id=1 not_used
Group: name="daemon" id=1 not_used
Respuestas:
apache
Hace esta respuesta describe o ayuda a su situación? La actualización a Apache 2.4 viene con algunos cambios en la configuración de Apache.
Laravel
¿Estás revisando los registros de Laravel o los de Apache?
Desde que actualicé a Laravel 4.1, he tenido "errores" de pantalla blanca (WSOD) cuando la aplicación no podía escribir en la ubicación del registro. Siempre he resuelto esto haciendo que Apache pueda escribir en el directorio de aplicaciones / almacenamiento (ya sea en el grupo en "www-data", "apache" o en todo el mundo), eso depende de la configuración de su servidor.
Usuario del servidor web
En servidores Ubuntu / Debian, su PHP puede estar ejecutándose como usuario "www-data". En los servidores CentOS / RedHat / Fedora, su PHP puede estar ejecutándose como usuario "apache".
Asegúrese de que sus archivos sean propiedad del usuario que ejecuta PHP:
Laravel 4
Laravel 5+ (incluidos 6)
fuente
Una actualización de la respuesta de fideloper para Laravel 5 y su nueva estructura de archivos es:
fuente
Prueba esto, en la página public / index.php
fuente
Los siguientes pasos resolvieron el problema de la pantalla blanca en blanco en mi Laravel 5.
bootstrap/cache
ystorage
.env.example
a.env
Esto generará la clave de cifrado y actualizará el valor de
APP_KEY
en.env
archivoEsto deberia resolver el problema.
Si el problema persiste, actualice
config/app.php
con la nueva clave generada a partir del comando de generación de clave artesanal anterior:fuente
para cualquiera que tenga una página en blanco incluso después de hacer accesible el almacenamiento para mostrar errores, coloque estas dos líneas en las primeras líneas de public / index.php para ver al menos lo que está sucediendo. para mí, este error estaba allí: la clase 'PDO' no se encuentra en /var/www/***/config/database.php en la línea 16
fuente
Cuando era nuevo en Linux, generalmente encontraba este error con mi Proyecto Laravel. Los errores blancos significan error, puede tener algún problema de permiso o error.
Solo tienes que seguir dos pasos y trabajarás como campeón :)
(1) Dar el permiso. Ejecute este comando desde el directorio raíz de su proyecto
(2) Si clonó el proyecto o lo extrajo de github, ejecute
(3) Configure su archivo .env correctamente y su proyecto funcionará.
fuente
Estaba luchando con un problema similar en un servidor CentOS. Usar php artisan serv y acceder a él a través del puerto 8000 en la máquina local funcionó bien, pero no pude hacer que mis máquinas remotas cargaran una vista en particular. Podría devolver cadenas bien y algunas vistas se estaban cargando. Perseguí los permisos durante un tiempo antes de que finalmente me diera cuenta de que era un problema de SELinux. Lo configuré de aplicar a permisivo y funcionó. Espero que ayude a alguien más que pueda tener el mismo problema.
fuente
También tengo una opción más por la que puede ocurrir un problema de página en blanco. Si está en modo de producción y si almacenó en caché sus archivos de configuración por php artisan (config: cache), intente eliminar el archivo de caché ejecutando:
o elimínelo manualmente (bootstrap / cache / config.php)
fuente
Ejecutar este comando lo resolvió para mí:
Supongo que una página de error en blanco estaba almacenada en caché. Tuve que limpiar los cachés.
fuente
En mi caso, lo he instalado
laravel
muchas veces y estoy seguro de que el permiso de escritura de la carpeta se ha otorgado correctamente.Como la mayoría de las respuestas anteriores:
El error es que mi configuración de nginx proviene de la documentación oficial .
Solo modifiqué el nombre de dominio después de copiar, luego obtuve una página en blanco. Intenté reiniciar
nginx
yphp-fpm
, pero no funcionó para mí.Finalmente, agregué esta configuración de línea para resolver el problema.
Espero poder ayudar a otros.
fuente
Frente a la pantalla en blanco en Laravel 5.8. Todo parece estar bien tanto con el almacenamiento como con la carpeta de arranque con los derechos 777. En
Muestra que el problema eran los espacios en blanco en el nombre de la aplicación del archivo .env
fuente
Tengo algunos problemas para configurarlo en una máquina Vagrant. Lo que realmente funciona para mí fue ejecutar un:
chmod -R o+w app/storage/
desde el interior de la máquina Vagrant.
Referencia: https://laracasts.com/lessons/vagrant-and-laravel
fuente
Otra cosa que puede causar que el WSOD no tenga la palabra clave 'return', como en:
return View::make('yourview');
Opuesto a
View::make('yourview');
fuente
A veces es porque laravel 5.1 requiere PHP> = 5.5.9. Actualizar php resolverá el problema.
fuente
Extraño para mí, pero en mi caso tuve que borrar el caché de laravel para resolver el problema.
fuente
También enfrenté el mismo problema después de hacer
composer update
Intenté instalar
composer required monolog/monolog
también pero no funcionó.Luego eliminé el directorio / vendor y ejecuté
composer install
y trabajé normalmente.Básicamente, debe haber revertido mi monólogo y otras versiones de paquetes estables a la anterior. así que mejor no
composer update
lo que noté al comparar las carpetas / vendor y encontré que faltaban esos
classes
archivos/vendor/monolog/monolog/src/Handler
después de la actualización del compositor.fuente
Puede haber muchas razones detrás de la pantalla en blanco sin errores. Me he enfrentado a este problema muchas veces cada vez que quiero cargar un proyecto de laravel en un alojamiento compartido.
Razón: Versión PHP incorrecta
En mi caso, el problema se debió a una versión incorrecta de php. Tenía la versión de php 7.1 en la computadora local donde, como en el cpanel de alojamiento compartido, había la versión de php 5.6. Cambiar la versión de 5.6 a 7.1 funcionó para mí.
Puede cambiar la versión de php en cpanel desde el administrador de multiphp disponible en la página de inicio de cpanel.
fuente
A veces en route.php puede tener
escrito antes
Puede ser un método vacío
Controller::show()
cuando comienzas a desarrollar tu controlador desde cero. En este caso, obtendrá una página en blanco vacía al solicitar la/add
URL. Sucede porque la solicitud se manejó por/{id}
ruta y su método no devuelve nada.Solo intenta colocar la
/add
ruta antes/{id}
fuente
Otro problema con el mismo comportamiento es usar Laravel 3 con PHP 5.5.x. Tienes que cambiar el nombre de alguna función de laravel "yield () porque es una palabra reservada en php 5.5
fuente
La razón puede ser
Middleware
si olvida poner el siguiente código al final de lahandle
funciónfuente
También recibí el mismo error cuando comencé por primera vez en laravel + Ubuntu 14.04 Simplemente haga clic derecho en la carpeta de arranque y almacenamiento >>> propiedades >>> permiso >> Acceso de otros >>> cámbielo a "Crear y eliminar archivos" Cambiar permiso para archivos adjuntos
Gracias
fuente
Obtuve esto de los foros de Laravel, pero si recientemente actualizó las versiones de Laravel Y las versiones de PHP Y está ejecutando nginx, asegúrese de haber cambiado su archivo de configuración de nginx para reflejar la nueva versión de PHP. Por ejemplo:
En el archivo de configuración de su sitio nginx (aquí: / etc / nginx / sites-available), cambie
fastcgi_pass unix:/var/run/php5-fpm.sock;
a
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
fuente
Tengo el mismo problema. Ya cambio la carpeta chmod por la carpeta de almacenamiento. completar la configuración de la base de datos en .env, pero no solucionó el problema. Usé Laravel 5.5 y usé PHP 5.6, para arreglarlo fui a (cpanel-> PHP Selector) y cambié a PHP 7.1 Y el problema está hecho.
fuente
En casos normales, los errores deben registrarse a menos que
El script no puede escribir en el archivo de registro
O se produjo un error en los registros del servidor de la aplicación de verificación de nivel superior como Appache || Nginx
O son límites de recursos como la configuración de PHP ini
O los límites del sistema operativo, etc.
fuente
Además de los problemas de permisos en la carpeta de almacenamiento y caché y los problemas de la versión php, podría haber otras razones para mostrar una página en blanco sin ningún mensaje de error.
Por ejemplo, tuve un mensaje de error de redeclaración sin ningún registro y con una página en blanco. Hubo un conflicto entre mi propia función de ayudante y una función de proveedor.
Sugiero como punto de partida , ejecutar
artisan
comandos. por ejemplo:Si hubo un problema, se le preguntará en la terminal y tendrá una pista y puede buscar en Google la solución.
fuente
La pantalla en blanco también ocurre cuando su aplicación Laravel intenta mostrar demasiada información y los límites de PHP se activan (por ejemplo, muestra decenas de miles de registros de bases de datos en una sola página). La peor parte es que no verá ningún error en los registros de Laravel. Probablemente tampoco verá ningún error en los registros de PHP FPM. Puede encontrar errores en los registros de su servidor http, por ejemplo, nginx arroja algo como
FastCGI sent in stderr: "PHP message: PHP Fatal error: Allowed memory size of XXX bytes exhausted
.Consejo breve: agregue
->limit(1000)
dónde1000
está su límite, en su objeto de consulta.fuente
Encontré este problema cuando intenté ejecutar una aplicación Laravel 5.8 en mi servidor, subiendo desde el desarrollo local usando Vagrant Homestead. Después de un tiempo, descubrí que el subdominio dev en el servidor en vivo que estaba ejecutando estaba configurado de alguna manera en PHP 5.6.
cPanel> MultiPHP Manager> Establecer en PHP 7.2
arregló esto para mí. Espero que esto pueda ayudar a alguien.
fuente
usa este .htaccess para resolver
fuente
en mi caso, el problema de la PANTALLA BLANCA EN BLANCO fue tan simple como un error tipográfico o un carácter incorrecto en el archivo env. Estaba implementando socialite, así que cuando estaba configurando las credenciales .env para Google+ así:
Pero, el archivo .env no puede usar el signo '+', así que tengo que hacer esta corrección:
Espero que esto te ayude a encontrar un error tonto ...
fuente
En mi caso, reiniciar Apache solucionó el problema. para Ubuntu / Debian:
fuente