将Laravel 5项目上传到共享主机

时间:2015-07-12 22:23:07

标签: php laravel-5 laravel-5.1

我想从我的localhost部署一个Laravel 5项目到共享主机,但我遇到了很多问题。我已将所有文件上传到我的共享主机(PHP 5.5)的子文件夹中,当我尝试 http://domain.com/subfolder/public 时,它显示500错误。我检查laravel.log但没有找到任何内容,将storage/设置为777但仍然没有更改(显示localhost的最后一个错误)。

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

现在,我的共享主机可以访问SSH,因此我安装了一个新的Laravel项目。然后将我编辑和添加的文件(从我的localhost除外)复制到Hosting。然后我更新了composer和dump-autoload,现在我的应用程序正在运行文件。

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

2 个答案:

答案 0 :(得分:1)

您的路由缓存有可能搞砸了。在上传文件之前artisan route:clearartisan cache:clearartisan view:clear是安全的,以确保没有编译的脚本 - 通常与特定路径相关联。

但目前还不清楚,您是否可以分享您的错误堆栈跟踪(如果可能,请分享您的.htaccess文件及其内容)? 抱歉,我无法发表评论,需要更高一点。但是,通过查看您的声明,通过移动文件(控制器,视图,公共等)而不是整个项目,我认为清除缓存是最好的尝试。

至于laravel项目的部署,laravel.io中提出了一些方法。将整个laravel文件公开在公用文件夹中并不是一个好主意。然而,有很多方法可以部署它。

答案 1 :(得分:0)

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