不能使Laravel 4 localhost上工作(Can't make Laravel 4

2019-07-18 06:10发布

阅读Laravel4测试版发布的公告后我试图Laravel首次。

我跟着这些步骤我安装作曲家和laravel与所有它需要的依赖关系。 我把我的laravel里面~/public_html目录-因为我已经习惯用笨做到这一点,但我认为什么是错在这里。

如果我点到浏览器http://localhost/~carlo/laravel-develop/ ,它只是显示目录的内容。

然后,在文件系统上的我有一个laravel-develop/public文件夹中,并没有出现在浏览器中。

我发现,改变.htaccess这样的:

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule>

导致一个错误,当我尝试访问的公用文件夹。 错误:

ErrorException:警告:file_put_contents(/家/卡罗/的public_html / laravel-开发/应用/配置/../存储/元/ services.json):未能打开流:权限被拒绝的/ home /卡罗/的public_html / laravel-开发/销售商/ laravel /框架/ SRC /照亮/文件系统/ Filesystem.php线77

另一个:

/home/carlo/public_html/laravel-develop/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php线77

那么错误一长串。 最后一个是:

require_once( '/家庭/卡罗/的public_html / laravel-开发/ start.php')在/home/carlo/public_html/laravel-develop/public/index.php线53

Answer 1:

尝试更改文件夹权限的storage使用终端的文件夹:

chmod -R 777 storage

在这个问题上更多信息,可以发现在这里 。



Answer 2:

你的失误造成,因为laravel无法写入应用程序/存储文件夹。 剩下的只是一个堆栈跟踪。 为了使存储文件夹可写,cd到你的应用程序文件夹,然后运行:

chmod -R 777 storage


Answer 3:

生产方式 ,温和的人不熟悉Unix的,但更安全的复杂性:

  1. 走在超级用户模式(须藤-s或SU)。
  2. 创建组webgroupadd web
  3. 加入你的主要用户群web (假设你的用户是cool_user ,所以运行usermod -a -G web cool_user
  4. PHP-FPM或Web服务器用户(如果PHP作为SAPI模块)添加到web组(例如,在CentOS PHP-FPM利用apache用户名,所以在大多数情况下,这将工作: usermod -a -G web apache
  5. 你的项目根目录下组所有者更改为web递归( chgrp -R web /path/to/project/root/
  6. 授予递归写权限组( chmod -R g+w /path/to/project/root/
  7. 可选为了让所有新创建的apache (或其他)用户文件和文件夹从你的用户访问,让他们接收组拥有相同的父文件夹在您的项目的根目录递归设置的groupid位( chmod -R g+s /path/to/project/root/ )。

瞧!

快速而肮脏的方式 ,对于那些谁不关心安全性,并希望使其工作在任何费用, 不可靠

  1. 走在超级用户模式(须藤-s或SU)。
  2. 授予递归完全权限(读,写,执行)为所有用户( chmod -R o=rwx /path/to/project/root/


Answer 4:

在我来说,我在文件/app/config/app.php默认设置修改解决了这个错误:

'url' => 'http://localhost',

我的本地定制虚拟主机的主机URL:

'url' => 'http://mydomain.local',

这似乎是解决问题的根本转变(我也chmod'ed存储文件夹,这里建议)

希望这有助于一些你..



Answer 5:

进一步上面,如果您使用的是VirtualBox虚拟/流浪汉VM环境类型,然后在我的Mac,我需要发出主机(MAC)系统上,但在我的Windows框中输入chmod,这是很好的VM direcly发出CHMOD 。



Answer 6:

您需要添加:选项+的FollowSymLinks

<IfModule mod_rewrite.c> 
RewriteEngine on 
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule>


Answer 7:

您需要仔细阅读安装文档:

http://laravel.com/docs/installation#configuration

注意这里的位:

Laravel requires one set of permissions to be configured - folders within app/storage require write access by the web server.

还有其他的东西,这就是该文件中有用的,所以请您务必阅读这一切。



Answer 8:

我有同样的问题,这是我如何解决这个问题:在你的httpd-vhosts.conf文件,你需要配置添加到您的文件夹,这就是我在我的

<VirtualHost *:80>
    ServerAdmin your@mail.com
    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>>


Answer 9:

您的服务器的根目录应指向/public您Laravel安装的文件夹中。 这就是index.html文件从那里Laravel被初始化recides。



Answer 10:

首先, 在这里这个答案会帮助你的权限。 其次,你可能需要添加RewriteBase ~/carlo/public_html/laravel-develop ,因为你跑出来一个主目录到你的.htaccess。



Answer 11:

嘿,我得到这个错误太和更改写入权限似乎没有任何工作。 原来,我需要改变Apache的httpd.conf文件中的用户和组的设置。 这里有一个很好的教程吧: 启用写入权限对原生内置的Apache在Mac OS X狮子



Answer 12:

检查的要求为LR4,本地服务器必须有这些:PHP> = 5.3.7 mcrypt的PHP扩展

否则,将失败。 我也面临这样的麻烦,现在正在寻找一个更新的PHP和我的XAMPP扩展。



Answer 13:

我喜欢这种方法不是改变权限为777集的Apache为你更好地运行。

  1. 在终端类型id来获得uid=123(Myname)

  2. 打开/etc/apache2/httpd.conf和编辑它使用您的用户名。

     <IfModule unixd_module> User Myname Group staff </IfModule> 
  3. 返回到终端: sudo apachectl restart



Answer 14:

我就遇到了这个问题,几分钟回来,使用sudo搭配chmod -R 777存储似乎有助于使存储/元/ services.json写。 我想补充一下大家一直说。 这为我工作。



文章来源: Can't make Laravel 4 to work on localhost