【问题标题】:Laravel not working with wamp 2, can't even show home page through /index.phpLaravel 不适用于 wamp 2,甚至无法通过 /index.php 显示主页
【发布时间】:2014-12-13 06:45:39
【问题描述】:

我正在一家电信公司实习。我负责制作后台,所以我决定在 Laravel 4.2 上制作它(对我来说是新事物)。

实际上,我已经完成了该项目的大部分工作,但是在尝试将其部署到服务器时遇到了问题。 我遵循了严格的指南和教程,但没有任何效果 (image)

服务器配置:Apache/2.2.25 (Win32) mod_jk/1.2.37 mod_ssl/2.2.25 OpenSSL/0.9.8y mod_wsgi/3.3 Python/2.7.2 PHP/5.4.33RC1

我还在 httpd.conf 中启用了 mod_rewrite 和 ssl 模块,在 php.ini 中启用了 open_ssl

我的 .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]

我还在我的个人电脑上安装了一个相同的环境,后来更新到 apache 2.4.9 和 php 5.4。这两种情况都不起作用。

PD:对不起我的英语

更新 Chrome 返回 net::ERR_CONNECTION_RESET

更新 2

这个问题实际上是由我的主布局文件中的一些 Blade 注释语句 ({{-- the comment --}}) 引起的。我用 PHP cmets (&lt;?php // the comment ?&gt;) 替换了它们,现在页面运行完美。

【问题讨论】:

    标签: php apache .htaccess mod-rewrite laravel


    【解决方案1】:

    一些尝试:

    • 如果您发布的是您的.htaccess 文件的完整内容,那么它的开头缺少&lt;,结尾缺少&lt;/IfModule&gt;。

    • 尝试使用备用 Laravel .htaccess 文件:

    Options +FollowSymLinks
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    

    • 尝试导航到localhost/laravel/public/index.php

    • 在您的RewriteEngine On 行之后添加RewriteBase 规则:

    RewriteBase /laravel/public/
    

    ...然后导航到 http://localhost(包括 http:// 前缀);

    • 确保 app/config/app.php 中的 url 设置正确:

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

    • 看看你是否可以访问http://127.0.0.1/laravel/public/index.php


    更新

    • 从您的错误日志中,看来 SSL 设置不正确。您需要 SSL 吗?如果没有,请尝试禁用它并查看您的网站是否加载。如果您确实需要 SSL,那么您的 SSL 配置可能会在很多地方误入歧途。您的http.conf 或httpd-ssl.conf 中的路径可能设置不正确;见http://forum.wampserver.com/read.php?2,121785。

    如果是,请参阅 here 或 here 以获取从一开始就正确设置 SSL 的指南,并查看您的设置是否正确(特别注意确保您的文件路径正确并且您的证书设置正确)。

    【讨论】:

    • 感谢您的回答。我尝试了你所说的一切,但仍然无法正常工作。每次我尝试导航到 http://127.0.0.1/laravel/public/index.php 时,浏览器都会显示“无法连接”消息。
    • 可能是您的 SSL 配置错误?请参阅更新的答案以获取建议。
    • 您好,再次感谢... SSL 不是问题。我发现我的问题与 Apache 或 Laravel conf 无关。实际上,这是由我的 master.layout 中的一些 Blade cmets 引起的。但是,.htaccess 不起作用。我确实按照您的建议配置了文件,但得到了相同的结果。我不知道我应该坚持使用这个文件还是只是在 Apache 中设置一个别名。
    【解决方案2】:

    连接重置意味着您的 Apache 没有运行。 在 Laravel 配置方面做任何事情之前,请先检查 WAMP 日志。

    众所周知,Skype 使用端口 80,因此请尝试在 WAMP 上启动 Apache 之前关闭您的 Skype。

    另外,Apache 配置错误可能会导致 Apache 无法启动。

    【讨论】:

    • 您好,感谢您的回答。好吧,我的电脑上没有安装 Skype,而 Apache 的主页工作正常……我真的不太了解 Apache 日志(几乎没有 xD),所以我不知道它是否可以与否(这里是重新启动 Apache 并尝试访问 http://127.0.0.1/laravel/public/index.php 后的后续日志:Apache error log。)我看到一些关于 Session Cache 未配置的信息,但我只是不知道它是否会影响 Laravel,如果是的话它是怎么做到的……
    猜你喜欢
    • 1970-01-01
    • 2017-08-12
    • 2013-03-02
    • 2013-03-14
    • 2014-02-18
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    相关资源
    最近更新 更多