【问题标题】:Laravel 5 directory structure on shared hosting共享主机上的 Laravel 5 目录结构
【发布时间】:2015-10-04 10:50:27
【问题描述】:

我是 Laravel 的新手,几个月前开始学习 v5。我创建了一个示例应用程序并希望将其部署到生产环境(共享主机)。

对我来说最简单的方法是将所有内容(包括应用程序、供应商、配置、测试等文件夹)直接放入 public_html,但我不想这样做。我想将 laravel 特定的东西保留在 public_html 之外,并且只将公共文件夹中的内容放到这个目录中。

有哪些可用的选项来做到这一点?

另外,我可以为多个应用程序共享相同的 laravel 安装吗?

【问题讨论】:

  • 你想共享同一个larvel安装(vendor目录)以避免多次上传还是有其他原因?
  • 是的,以避免多次上传相同的内容。

标签: php laravel laravel-5


【解决方案1】:

在public/index.php之后添加

$app = require_once __DIR__.'/../bootstrap/app.php';

这个:

$app->bind('path.public', function() {
    return __DIR__;
});

现在您可以将public 目录更改为public_html

【讨论】:

  • 这样,所有文件夹都将驻留在 public_html 之外,但是否可以在 /laravel 中安装 laravel 并使用 public_html 文件夹进行公共。
  • 进一步将index.php 上的路径更改为真实路径,例如。 $app = require_once __DIR__.'/../laravel/bootstrap/app.php';
【解决方案2】:

将您的代码保留在 public_html 之外,并在您的 laravel 目录中创建一个从 public_html 到 public 目录的符号链接。

【讨论】:

  • 在某些共享主机实例上,符号链接 public_html -> public 将起作用。如果这不起作用,取决于 apache 的编译方式 - 您可能需要将组设置为 nobody 例如user:nobody,所以在删除 public_html 目录和指向公共的符号链接之前检查一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-04
  • 2016-05-21
  • 1970-01-01
  • 1970-01-01
  • 2019-07-16
  • 2016-02-14
  • 2020-01-16
相关资源
最近更新 更多