【发布时间】:2017-04-22 06:48:07
【问题描述】:
我刚刚将 Laravel 网站推送到共享主机上。将公用文件夹复制到/www,更改index.php以反映路径更改并配置我的.htaccess等。
起初我只是收到一个错误,告诉我 Page::findBySlug() 返回 null。用 dd() 再次检查,曾经并且仍然是 null。
FrontendController@index 是这样的
public function index($slug)
{
$page = Page::findBySlug($slug);
$pageTemplate = $page->templates->first();
return view('frontend.pages.index', compact('page','pageTemplate'));
}
在玩弄 dd() 一段时间后,它现在将我发送到自定义 500,除非它应该从 db 中拉出 slug,在这种情况下,我会得到一个自定义 404。
编辑:我提取了相同版本的应用程序,但它已经从测试平台安装(而不是使用 composer instal 滚动),它可以正常工作,所以我怀疑它与托管有什么关系。鉴于我想以正确的方式做到这一点,我仍然很感激答案。运行全新安装后,我应该设置 slugs 吗?
我在这里缺少什么?谢谢。
【问题讨论】:
-
您的数据库中是否有包含该 slug 的页面?
-
如何在共享主机上运行 composer install?只需使用 ftp 或 sftp 将您拥有的所有内容复制到服务器即可。
-
共享主机在终端访问和安装 composer、node 等方面存在不同程度的限制,具体取决于提供商。所以最好的方法是将您的项目从本地/开发机器复制/ftp上传到服务器。有关将 Laravel 项目上传到共享主机的说明,请参阅 stackoverflow.com/documentation/laravel/2410/deployment/7970/…。希望对您有所帮助。
-
数据库只有一些页面的slug,例如隐私/联系人等。 Composer 安装在主机上运行得很好。我确实复制了一次,但男孩确实花了很长时间。现在,所有托管/项目明智的事情似乎都很好。我作为初级开发人员第一天被投入到这个为期 4 个月的开发项目中。我是这里唯一的开发人员,不得不更改/修复一堆东西,但是男孩,现在似乎很好。谢谢,偷看。
标签: php laravel laravel-5 composer-php slug