1

我想从我的本地主机将 Laravel 5 项目部署到共享主机,但我面临很多问题。我已将所有文件上传到共享主机(PHP 5.5)的子文件夹中,当我尝试http://domain.com/subfolder/public时,它显示 500 错误。我检查了laravel.log但什么也没发现,将其设置storage/为 777 但仍然没有更改(显示来自本地主机的最后一个错误)。

我也检查了一下.htaccess,看起来不错。我搜索了很多并尝试了很多东西,但仍然面临同样的问题。

现在,我的共享主机提供了 SSH 访问权限,所以我安装了一个新的 Laravel 项目。然后将我编辑和添加的文件从我的本地主机复制到主机。然后我更新作曲家和转储自动加载,现在我的应用程序正在工作文件。

但我不确定我所做的过程。这是正确的方式吗(我不这么认为)?请让我知道直接上传文件的问题是什么,如果我将第二个系统用于我的生产应用程序是否有任何问题。

4

2 回答 2

1

您的路线缓存有可能被搞砸了。artisan route:clear在上传文件之前,确保没有留下任何已编译的脚本(通常与特定路径相关联artisan cache:clear)是安全的。artisan view:clear

但目前尚不清楚,您能否分享您的堆栈跟踪以了解您的错误(如果可能,分享您的 .htaccess 文件及其内容的位置)?对不起,我不能评论,需要更高的点。但是,通过查看您的声明,它通过移动文件(控制器、视图、公共等)而不是整个项目来工作,我相信清除缓存是最好的尝试。

关于 laravel 项目的部署,在 laravel.io 中有推荐的方法。将整个 laravel 文件暴露在公用文件夹中并不是一个好主意。然而,有很多方法可以部署它。

于 2015-11-19T03:59:41.340 回答
0

我知道这有点晚了,但您需要: 1. 将 laravel 的公用文件夹设置为您域的根文件夹或 2. 创建一个子域并将根文件夹指向您的项目公用文件夹。这样做的缺点是您的会话无法直接连接到您的主域的会话。

于 2016-10-19T05:32:40.460 回答