php - instalar - laravel download
No se puede hacer que Laravel 4 funcione en el host local (14)
Estoy probando a Laravel por primera vez después de leer un anuncio de la versión beta de Laravel4.
Seguí estos pasos . Instalé Composer y Laravel con todas las dependencias que necesitaba. Puse el laravel dentro de mi ~/public_html
directorio - como estoy acostumbrado a hacerlo con Codeigniter, pero creo que algo está mal aquí.
Si http://localhost/~carlo/laravel-develop/
el navegador a http://localhost/~carlo/laravel-develop/
, solo muestra el contenido del directorio.
Luego, mientras que en el sistema de archivos tenía una laravel-develop/public
, no apareció en el navegador.
Descubrí que cambiar el .htaccess
esta manera:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
produjo un error cuando intento acceder a la carpeta pública. El error:
ErrorException: Advertencia: file_put_contents (/ home / carlo / public_html / laravel-develop / app / config /../ storage / meta / services.json): error al abrir la transmisión: Permiso denegado en / home / carlo / public_html / laravel- develop / vendor / laravel / framework / src / Illuminate / Filesystem / Filesystem.php línea 77
otro:
/home/carlo/public_html/laravel-develop/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php línea 77
luego una larga lista de errores. El último es:
require_once (''/ home / carlo / public_html / laravel-develop / start.php'') en /home/carlo/public_html/laravel-develop/public/index.php línea 53
Además, si está usando un entorno de tipo virtual / VM vagabundo, entonces en mi Mac necesitaba emitir el chmod en el sistema host (mac) pero en mi caja de Windows, estaba bien emitir el chmod directamente en la VM .
El webroot de su servidor debe apuntar a la carpeta /public
de su instalación de Laravel. Aquí es donde el archivo index.html
recita desde donde se inicializó Laravel.
En mi caso, resolví este error modificando en el archivo /app/config/app.php la configuración predeterminada:
''url'' => ''http://localhost'',
a mi url localhost virtualhost personalizada:
''url'' => ''http://mydomain.local'',
Este parecía ser EL cambio esencial que resolvió el problema (también modifiqué la carpeta de almacenamiento, como se sugiere aquí)
Espero que esto ayude a alguno de ustedes..
Intente cambiar los permisos de la carpeta para la carpeta de storage
usando la terminal:
chmod -R 777 storage
Más información sobre este asunto se puede encontrar here .
Me encontré con este problema unos minutos atrás y el uso de sudo chmod -R 777 almacenamiento pareció ayudar a que el almacenamiento / meta / services.json se pueda escribir. Solo para agregar a lo que todos han estado diciendo. Esto funcionó para mí.
Me gusta más este método que cambiar los permisos a 777. Configure Apache para que se ejecute como usted.
En terminal
id
tipo para obteneruid=123(Myname)
.Abra /etc/apache2/httpd.conf y edítelo para usar su nombre de usuario.
<IfModule unixd_module> User Myname Group staff </IfModule>
Volver al terminal:
sudo apachectl restart
Necesita agregar: Opciones + FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Necesita leer la documentación de instalación:
http://laravel.com/docs/installation#configuration
Presta atención al bit aquí:
Laravel requires one set of permissions to be configured - folders within app/storage require write access by the web server.
También hay otras cosas que son útiles en ese documento, así que asegúrese de leerlo todo.
Oye, también recibí este error y cambiar los permisos de escritura tampoco funcionaba. Resultó que necesitaba cambiar las configuraciones de Usuario y Grupo en el archivo httpd.conf de apache. Aquí hay un buen tutorial: habilite permisos de escritura para el Apache nativo incorporado en Mac OS X Lion
Primero, esta respuesta aquí te ayudará con los permisos. En segundo lugar, es posible que necesite agregar RewriteBase ~/carlo/public_html/laravel-develop
a su .htaccess, ya que lo está ejecutando fuera de un directorio de inicio.
Sus errores se produjeron porque laravel no pudo escribir en la carpeta de aplicaciones / almacenamiento. El resto fue solo un rastro de pila. Para hacer que la carpeta de almacenamiento sea editable, cd en su carpeta de aplicaciones y luego ejecute:
chmod -R 777 storage
Tuve el mismo problema, así es como lo resuelvo: en tus archivos httpd-vhosts.conf necesitas agregar las configuraciones a tus carpetas, esto es lo que tengo en el mío
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/home/carlospublic_html"
ServerName carlos.local
<Directory "/home/carlos/public_html">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>>
Verificando el Requisito para el LR4, su servidor local debe tener estos: PHP> = 5.3.7 Extensión MCrypt PHP
De lo contrario, fallará. Me enfrento a este problema también y ahora estoy buscando un PHP actualizado y su extensión para mi XAMPP.
Modo de producción , complejidad moderada para personas que no están familiarizadas con Unix, pero más seguras :
- Vaya en modo superusuario (sudo -s o su).
- Crear un grupo
web
(groupadd web
) - Agregue su usuario principal a la
web
grupo (supongamos que su usuario escool_user
, así que ejecuteusermod -a -G web cool_user
) - Agregue php-fpm o usuario del servidor web (si php se usa como módulo SAPI) al grupo
web
(por ejemplo, en CentOS php-fpm utilice el nombre de usuario deapache
, por lo que en la mayoría de los casos esto funcionará:usermod -a -G web apache
) - Cambie el propietario de su grupo de directorio raíz del proyecto a la
web
recursivamente (chgrp -R web /path/to/project/root/
) - Otorgar permiso de escritura recursivo para el grupo (
chmod -R g+w /path/to/project/root/
- Opcionalmente, permita que todos los archivos y carpetas creados recientemente por
apache
(u otros) sean accesibles desde su usuario, haga que reciban la propiedad del grupo igual que su carpeta principal estableciendo el bit groupid recursivamente en el directorio raíz de su proyecto (chmod -R g+s /path/to/project/root/
).
Voila !.
De manera rápida y sucia , para aquellos que no se preocupan por la seguridad y quieren que funcione a cualquier costo, no de forma segura :
- Vaya en modo superusuario (sudo -s o su).
- Otorgar permiso completo recursivamente (leer, escribir, ejecutar) para todos los usuarios (
chmod -R o=rwx /path/to/project/root/