如何将 Laravel 5.5 应用部署到 Godaddy cPanel 共享主机

Posted

技术标签:

【中文标题】如何将 Laravel 5.5 应用部署到 Godaddy cPanel 共享主机【英文标题】:How to deploy Laravel 5.5 app to Godaddy cPanel shared hosting 【发布时间】:2018-08-14 23:20:37 【问题描述】:

我对 Laravel 比较陌生。我对将 Laravel 5.5 应用程序部署到 Godaddy cPanel 共享主机的正确方法感到困惑。我已经阅读了有关该主题的多篇文章,但他们给出了相互矛盾的建议。

我不清楚的部分是我是否将所有文件复制到服务器然后运行以下作曲家命令?:

composer install --optimize-autoloaderphp artisan config:cache

我得到了我应该在 public_html 文件夹之外的服务器上创建一个文件夹的部分,将所有应用程序文件放在那里,除了应用程序的公共子文件夹中的文件。

如果我想从子文件夹运行应用程序,我该怎么做?为了 例如,www.mysite.com/laravelapp

我找到的示例仅用于从 public_html 文件夹本身运行它。是否只涉及更改 www/index.php 中的文件路径?

【问题讨论】:

【参考方案1】:

我在共享主机中执行以下步骤:

    压缩 laravel 项目 上传新文件 .zip 解压项目 将所有项目移至主目录,一般移至public_html 进入公共文件夹并将 index.php 移动到 public_html 在 laravel 5.8 的第 24 行和第 38 行编辑 index.php

第 24 行

require __DIR__.'/vendor/autoload.php';

第 38 行

require_once __DIR__.'/bootstrap/app.php';

这项工作在 Godaddy 和 inmotion 中为我工作

【讨论】:

【参考方案2】:

在阅读了有关该主题的更多帖子后,我想出了如何在 Godaddy 共享托管计划中部署 Laravel。以下是我采取的步骤:

    在 public_html 文件夹之外创建了一个新文件夹,并将所有应用程序文件上传到该文件夹​​(供应商文件夹除外)。 使用 SSH 访问,我在服务器上新创建的 app 文件夹中运行命令 curl -sS https://getcomposer.org/installer | php。 我从 Laravel 应用文件夹中删除了 public 文件夹,将其放在 public_html 文件夹中,并将其重命名为我的项目名称。

    我修改了项目文件夹中 index.php 中的文件路径,使它们指向 laravel app 文件夹,如下所示:

    require __DIR__.'/../../laravel/bootstrap/autoload.php';

    $app = require_once __DIR__.'/../../laravel/bootstrap/app.php';

    我通过在 SSH 中运行命令来安装依赖项:php composer.phar install,然后通过运行添加必要的缓存:php artisan config:cache

就是这样。我是使用 Godaddy cPanel 共享主机完成的。在尝试此操作之前,请确保 PHP 版本设置为 7.1。我想发布我的步骤,因为我发现一些关于这个主题的教程要么令人困惑,要么给出了相互矛盾的建议,要么没有提供所有必要的步骤。

【讨论】:

ERR_ABORTED 403(禁止)在我保存在 public_html/laravel/assets/css 中的 css 文件夹中 你应该打开一个新问题。【参考方案3】:

您遇到的最大问题是 GoDaddy 支持的最新 PHP 版本是 v5.6。 Laravel v5.5 及更高版本都需要 PHP v7.0 或更高版本。 显然,他们在 2017 年底添加了 PHP 7 支持。

仍然强烈建议转移到信誉更好的主机,例如(最接近的比较)BlueHost.com 或 DigitalOcean.com。


您遇到的第二个最大问题是 GoDaddy 不会让您实际运行 Laravel 真正需要的 artisan 命令。这意味着 1. 需要手动应用数据库创建和迁移,以及 2. 在本地运行所有 artisan 命令并就地上传整个项目。

第三大问题是composer doesn't run on GoDaddy,这意味着您还需要上传所有vendor 目录。


附录:这里是如何在共享主机上部署 Laravel 的指南:https://www.youtube.com/watch?v=6g8G3YQtQt4

【讨论】:

我查了一下,Godaddy 去年增加了对 PHP 7 的支持。我正在使用现有的数据库。我在 Godaddy 上有 SSH 访问权限。没有办法使用 SSH 安装 Composer? 我认为我在网上看到的信息有点过时了。我读的东西都是在 2017 年,但在 6 月之前。对他们有好处。我已经通过视频教程修改了我的答案。 感谢视频教程链接。是的,Godaddy 去年 8 月添加了 PHP 7。我确实找到了一种将作曲家添加到 Godaddy 的方法。使用 PuTTY,我在主目录中运行了这个命令:curl -sS https://getcomposer.org/installer | php 从here得到这个想法

以上是关于如何将 Laravel 5.5 应用部署到 Godaddy cPanel 共享主机的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.5 - 升级身份验证后没有正确重定向

Laravel 5.5 使用生产数据库整合迁移

Laravel 5.5 - Laravel Passport 使用正确的授权类型?

将 Laravel 5.5 升级到 5.6 错误

Laravel 5.5登录后重定向到特定路由

如何在laravel 5.5中会话时自动重定向到登录页面