for - Laravel 4: Error al abrir la secuencia: permiso denegado
laravel try catch all exceptions (6)
Acabo de toparme con este problema en centos 7. El bloqueador no tenía permisos de carpeta, sino que era una política de selinux que bloqueaba nginx / php para acceder a / var / www. Por lo tanto, si lo anterior no funciona, intente deshabilitar selinux como prueba para ver si puede volver a ejecutar el compositor sin ningún problema de permiso.
Tengo problemas para configurar Laravel 4. Tengo este error al abrir la página de índice:
file_put_contents (/Users/laravel/app/storage/meta/services.json) [function.file-put-contents]:
no se pudo abrir la transmisión: permiso denegado.
¿Que me estoy perdiendo aqui?
Creo que chmod -777 es una mala práctica.
Para resolver el problema de permisos en Laravel, he hecho esto (con usuario root):
cd app/
chown -R www-data:www-data storage
cd storage/
find . -type d -exec chmod 775 {} /; && find . -type f -exec chmod 664 {} /;
Y siempre en el directorio de aplicaciones / almacenamiento:
chown your_user:user_group .gitignore cache/.gitignore logs/.gitignore meta/.gitignore sessions/.gitignore views/.gitignore
Ahora, salga del usuario raíz, y está bien.
EDITAR: esto fue para Laravel4. Esto no funciona para Laravel5 debido a una estructura diferente.
En mi caso, este error fue lanzado:
fopen (php: // stdout): error al abrir la secuencia: la operación falló
Estoy usando un host virtual en Wamp. por lo tanto, agregué esta línea a mi bloque <VirtualHost>
-> <Directory>
en el archivo httpd-vhosts.conf
:
Require all granted
y mi bloque es:
<VirtualHost *:80>
ServerName laravel
DocumentRoot d:/wamp/www
<Directory "d:/wamp/www/">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
entonces problema resuelto!
Es mejor que no cambie los permisos, simplemente debe cambiar el owner:group
de la carpeta de almacenamiento por el del owner:group
de apache usando chown
, esto es más complicado pero es más seguro y se acostumbrará a esto pronto, puedes encontrar esto en el httpd.conf
MAMP:
/Applications/MAMP/conf/apache/httpd.conf
XAMMP:
/Applications/XAMPP/xamppfiles/etc/httpd.conf
Abra el httpd.conf con su editor preferido y luego busque User/Group
. Después de buscar, verá estas líneas debajo de la línea resaltada que buscó:
User someuser
Group somegroup
Una vez que ya conoce el usuario y el grupo, cd a su directorio laravel, haga lo siguiente:
chown -R someuser:somegroup app/storage
PD: Si obtienes algún error de permiso al hacer chown
, prueba esto:
sudo chown -R someuser:somegroup app/storage
Luego le pedirá su contraseña, entonces insértela y luego haga.
Si está utilizando Apache en Ubuntu, el usuario del servidor web debe poder escribir las carpetas de almacenamiento y de carga / caché.
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
Esto permitirá permisos de escritura a estas carpetas para los usuarios del servidor web.
El usuario del servidor web debe poder escribir en el directorio de storage
.