Es una pregunta relacionada con la instalación de Laravel. Tengo una configuración de servidor Unix de cara al público:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/mydomain"
ServerName mydomain.org
ServerAlias www.mydomain.org
ErrorLog "/var/log/mydomain.org-error_log"
CustomLog "/var/log/mydomain.org-access_log" common
</VirtualHost>
Puedo servir documentos bien desde / var / www / mydomain, es decir, http://mydomain.org/test.php con test.php que contiene:
<?php echo 'test';
funciona bien.
En bash, con Laravel instalado a través de Composer y mirando los archivos:
# ls /var/www/mydomain/my-laravel-project
.gitattributes CONTRIBUTING.md artisan composer.json phpunit.xml readme.md vendor
.gitignore app bootstrap composer.lock public server.php
Entonces, cuando busco:
http://mydomain.org/my-laravel-project/public/
¿Por qué mi solicitud informa:
Error in exception handler.
en el navegador, ¿en una pantalla en blanco? Espero ver la pantalla de presentación de Laravel.
Además, los archivos de registro tampoco revelan nada.
/var/log
y ver qué tienen que decir?app/storage/logs
? ¿Se pueden escribir todos los directorios de almacenamiento?Respuestas:
La opción más segura sería cambiar el grupo de directorios de almacenamiento a su grupo de servidores web (generalmente
apache
owww-data
, pero esto puede variar entre los diferentes sistemas operativos) y mantener los permisos del directorio como775
.O con
chown
.Luego asegúrese de que los permisos de directorio sean
775
.Desde el sitio web de Laravel :
fuente
sudo chown -R _www app/storage
(reemplace _www con el nombre de su servidor Apache si es necesario)chmod -R g+w app/storage
Laravel 5.2
almacenamiento chmod -R 777
Aplicación / almacenamiento / almacenamiento / * Laravel chmod 777 más antigua
Tenga en cuenta que si tiene un servidor dedicado razonablemente bloqueado sin cuentas de usuario que no sean las suyas, 777 no debería representar un riesgo de seguridad mayor que cualquier otra cosa. Tendría que haber alguna otra vulnerabilidad para que un usuario malintencionado se aprovechara de eso, y en ese momento, el permiso 777 probablemente sea discutible de todos modos. Sin embargo, si está en un servidor compartido con otros usuarios en los que no confía, tendrá que buscar permisos más complicados o verificar si su proveedor de alojamiento ya ha proporcionado aislamiento.
Realmente deberían poner esto en los documentos de inicio rápido y proporcionar ejemplos para varias configuraciones. Es posible que también deba ejecutarlo nuevamente después de la primera carga, ya que se crean más directorios automáticamente. Busque en sus registros errores de escritura.
Además, su DocumentRoot debe ser / ruta / a / laravel-project / public
fuente
¡Eliminé sesiones antiguas dentro de la
app/storage/sessions
carpeta y doy775
permiso paraapp/storage
que después de eso funcione como un incendio!¡Buena suerte!
fuente
El tren ha pasado por esto hace mucho, mucho tiempo, pero aún tengo otro consejo sobre "Error en el controlador de excepciones".
Me sucedió esto cuando ejecuté "php artisan", que es una buena manera de evaluar si su entorno está funcionando en general.
Lo ejecuté y me dio ese error, y no pude identificar el problema hasta que edité el archivo artesanal en el directorio raíz de mi proyecto y agregué una declaración try catch:
En ese momento, finalmente vi un mensaje esclarecedor:
que en mi caso fue una mala configuración de redis, pero en tu caso podría ser cualquier cosa.
Espero que esto ayude a alguien, o al menos la próxima vez que llegue encontraré mi propia respuesta.
fuente
could not find driver
. Y luego descubrí que lo había instaladophp-mysql
, mientrasphp7.0-mysql
se requería. Este enlace también me ayudó - digitalocean.com/community/tutorials/…La forma más corta de resolver esto es comenzar de forma artesanal con sudo. Esto le dará al artesano todos los permisos que necesita y no causará ningún problema de seguridad.
así que en su lugar, comience el servicio artesanal con:
intente usar:
por lo que no tendrá que realizar ningún cambio de permiso
fuente
Tengo el mismo problema, acabo de cambiar el permiso de la aplicación de directorio / almacenamiento a 775 con la línea de comando chmod
fuente