【发布时间】:2015-09-03 13:00:29
【问题描述】:
我有一个简单的 Laravel 应用程序,我刚刚被告知公共 DIR 必须位于与核心代码完全不同的位置。
我需要这样的东西:
folder-root
| - site
| - | - someFolder
| - | - | - codeFolder
| - | - | - | - app
| - | - | - | - bootstrap
| - | - | - | - config (etc etc etc)
| - newPublicFolder
| - | - index.php
我已将所有文件复制到本地的此结构中,并将我的公共 index.php 文件更改为指向 bootstrap/autoload.php 文件,并且可以从该文件中回显测试变量,所以我知道它指向它它是正确的。
是否有任何地方可以执行此操作的指南,或者是否有我缺少的配置文件?
更新:这是来自我的 apache 错误日志:
PHP Fatal error: Call to a member function make() on a non-object in /var/www/test/site/public/index.php on line 49
更新 2:
我只复制了文件。数据库保持不变,我没有运行任何编译器更新或任何东西.. 如果这有什么不同?
干杯!
【问题讨论】:
-
您是否真的遇到了问题,或者您只是在询问您是否以正确的方式进行操作?
-
我遇到了问题...我只更改了公用文件夹中的 index.php 文件以正确指向引导程序文件...并且该站点无法正常工作。我想知道是否还有其他不太明显(对我而言)需要更新的配置设置。
-
你记得更新
public/index.php中的第 22 行和第 36 行吗?从您的错误来看,第 36 行似乎没有返回 Laravel 应用程序实例的真实版本。 -
是的,我做到了,它们都是同一条路径。
-
您已经完成了
composer install或复制了您的vendor文件夹,对吧?也就是说,bootstrap/autoload.php第 17 行正在寻找东西,对吧?我想会是这样,否则你的错误不会是关于在非对象上调用->make(),但无法找到文件/类。
标签: laravel laravel-routing laravel-5.1