Laravel:支持更改框架/应用程序文件夹位置的方法吗?

标签 laravel laravel-4

我刚刚开始使用 Laravel,并在文档中注意到它建议您将应用程序文件移到文档根目录之外,只有 /public 的内容可以访问。好的,好的,所以我已经做到了。但是,在 /public/index.php 中查看它是硬编码将一个目录指向 /bootstrap 目录。由于我已将框架代码移至其他位置,因此我将文件稍微修改为:

$app_path = $_SERVER['DOCUMENT_ROOT'].'/../securefiles/myApp/';
...
require $app_path.'/bootstrap/autoload.php';
... etc ...

这是预期的做法吗?这个文件需要在 Laravel 加载之前正确设置,所以我不认为我可以配置 Laravel 本身来知道它相对于 /public/index.php 的存储位置。我很好奇是否还有其他更好、更合适的方法?

最佳答案

不,那不是他们的意思。它们意味着您需要指向虚拟主机以使用 public 作为 DOCUMENT_ROOT,同时保持结构的其余部分不变。所以你会看到这样的东西:

projectname/
  app/
  bootstrap/
  public/

然后 apache/nginx/lighthttpd 虚拟主机配置会将 DOCUMENT_ROOT 设置为 /path/to/projectname/public。因此,除了您的服务器配置之外,实际上不需要更改任何其他内容。这通常是如何完成的。 Apache 示例:

<VirtualHost *:80>
    DocumentRoot "/path/to/projectname/public"
    ServerName yoursite.com
    ServerAlias www.yoursite.com
</VirtualHost>

关于Laravel:支持更改框架/应用程序文件夹位置的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17306814/

相关文章:

php - 无法访问 View 中的验证错误

php - 我可以将单个Google帐户用于Youtube Data API吗?

php - Laravel Cache::forever() - 可靠吗?

php - Laravel 更新一对多关系

php - 创建一个私有(private)包?

php - 访问延迟加载的属性

php - Laravel 4 - artisan 错误 SQLSTATE [42000]

php - “方法 [validateString] 不存在。”在 laravel 验证

php - Laravel 5 Dingo API Controller

php - 数据库查询生成器有时会返回数组而不是作为排队作业运行的对象