【问题标题】:PHP - First Time Installation of Laravel 4 on VPSPHP - 第一次在 VPS 上安装 Laravel 4
【发布时间】:2014-02-12 02:12:39
【问题描述】:

嘿,所以我对 Laravel 4 完全陌生,并且有一些关于我第一次安装的基本问题,我无法在网上其他任何地方找到答案。我计划使用该框架托管一个具有完全动态 Web 后端和 RESTful API 的标准网站。我一直在关注 this installation guide 并且基本上在我输入 laravel new projectDir 的部分,它会在提供的目录中创建一个新的 Laravel 实例。

现在我的主要公共目录是public_html,是否建议将 Laravel 4 直接安装到该目录中。那么像laravel new public_html 这样的推荐吗?我在这里发现了许多其他问题,似乎表明这不是最安全的解决方案。我是否应该在 public_html 中创建一个单独的目录,对于我打算用 laravel 做的事情是否有必要?

另外,我希望我的 URL 尽可能简洁,并希望它们主要是网站的 www.domain-name.com/pagename。在public_html 内创建目录会阻止我这样做吗?

最后,当我尝试在此服务器上安装不同的框架时,我在路由我的 URL 时遇到了一些问题。是否有任何服务器/Apache 设置会影响使用 laravel 路由 URL 的方式,我应该在将 Laravel 安装到目录之前禁用/启用这些设置?

【问题讨论】:

    标签: php laravel installation laravel-4 vps


    【解决方案1】:

    您不会将基本 Laravel 文件夹放在 public_html 中。

    在你执行laravel new 命令时创建的 Laravel 目录结构中,有一个名为public 的目录。这就是您将 Web 根映射到的内容。所以在我的 vps 上,我有一个名为 /var/site/mywebapp 的文件夹,它是由以下命令创建的:

    laravel new mywebapp
    

    nginx(我更喜欢 Apache)中,我将服务器根映射到:

    /var/sites/mywebapp/public
    

    public 文件夹中有一个 index.php,Laravel 使用它来运行你的整个应用程序/站点。该框架的其余部分位于 Web 根目录之外,无法通过 HTTP 访问。

    至于您的 URL 问题,请参阅文档以了解如何正确配置您的 mod_rewrite(假设为 Apache)。

    此外,Laravel 社区的杰出成员(也是核心贡献者)Dayle Rees 在这里有一个示例 Web 服务器配置的 github:

    https://github.com/daylerees/laravel-website-configs

    【讨论】:

    • 嘿@warspite 我设置 laravel 的方式和你自己类似。我已经访问了 Dayle Rees 的 github,并将我的主要 public_html 文件夹中的 .htaccess 更改为他为 Apache 提供的那个(这是我正在使用的)。我在他指出的地方更改了路径,但由于某种原因,当我转到我的网址时,我收到了 500 错误。我可能做错了什么?
    • 根据我上面的回答,如果您已将 Apache 的文档根目录配置为指向您的 Laravel /public 文件夹,那么它根本不会使用 public_html
    • 好的,我认为我的 Apache 配置和 mod_rewrite 可能未启用,这非常愚蠢。我会检查一下,让您知道它是否有效,然后将其作为您的答案。再次感谢!
    • 如果这有帮助,stackoverflow.com/questions/9021425/… 会为您提供代码,让您检查mod_rewrite 是否正常工作
    【解决方案2】:

    当你安装 Laravel 时,它会创建一个 public 文件夹,以及 app, bootstrapvendor 文件夹。

    public 文件夹本质上是您的 public_html 文件夹,您希望主机/apache 在查看网站根目录时指向该文件夹。所以mydomain.com 应该直接放在public 文件夹中。

    您可以将 public 文件夹重命名为 public_html,但请务必同时更新 bootstrap/paths.php 路径值

    'public' => __DIR__.'/../public',
    // change to
    'public' => __DIR__.'/../public_html',
    

    Laravel 会为你创建一个 .htaccess 文件,它会抓取 URL 并将它们重定向到 public/index.php,这将相应地处理 Laravel。

    所以要回答这个问题,你可以从 public_html 安装 Laravel 一个文件夹,然后如果你的主机需要,你可以将 public 重命名为 public_html

    【讨论】:

      猜你喜欢
      • 2014-03-31
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多