php - 在云托管上部署 Laravel 5.1

标签 php laravel-5.1

我在 wamp 上开发了我的 Laravel 应用程序。终于搞定了,租了一台带CPanel接口(interface)的云托管服务器。我将所有文件上传到公共(public) html 上并尝试访问该网站。它应该进入登录页面,但不起作用。

我曾经部署经典的 html 文件,这是我第一次部署 PHP laravel 站点。我已成功导入 MySQL 数据库,因此已准备就绪。我只是对配置等一无所知。

最佳答案

我将引导您完成这些步骤。由于您提到了 public_html 文件夹,我认为该解决方案适合您。请按照以下步骤操作,并将 myapp 更改为您的应用名称。

  • 将项目的 public 文件夹复制到 public_html 文件夹中并重命名(例如 myapp_public)
  • 您将在 public_html 文件夹中看到一个 .htaccess 文件。编辑该文件的内容如下: 重写引擎开启 RewriteCond %{REQUEST_URI} !^myapp_public RewriteRule ^(.*)$ myapp_public/$1 [L]

  • 将根目录中的其他文件夹复制到另一个目录(例如myapp)

  • 现在您需要做的最后一件事是编辑路径 public_html/myapp_public/index.php 处的 index.php 文件(如果您按照以下步骤操作)我在上面写过)。将 require 语句更改如下

require 语句更改如下:

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

按如下方式更改 $app 变量:

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

这应该可以做到。为了方便起见,绘制了简单的目录结构。

~
|__ myapp
|     |____ .env
|     |____ app
|     |____ artisan
|     |____ .........so on
|
|__ public_html
          |_____ .htaccess (this is the file to edit)
          |_____ myapp_public
                     |________ .htaccess
                     |________ index.php (this is the file to edit)
                     |________ robots.txt ...... so on

如果你不明白这里发生了什么,我会详细解释。

编辑

确保您已通过 cURL 安装了 composer,因为 apt-get 无法在共享主机上运行。完成后,从项目的根目录(即 myapp)运行 composer install(如果您按照上述步骤操作)。

关于php - 在云托管上部署 Laravel 5.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34174779/

相关文章:

php - 在 laravel 中禁用特定路由的 csrf

php - 指令 'safe_mode' 在 PHP 中不再可用,位于第 0 行未知

php - 如何获取兄弟div的html值

用于多用户环境的 Laravel 队列

mysql - 从复杂的原始 SQL 查询创建 Eloquent 模型

php - Laravel 5.1 Blade(或只是简单的回显)错误地显示类

java - 每当我运行 "apt-get install php5-gd php-mysql"时,它都会在 Ubuntu 14.04 上显示 "Unable to locate package php-mysql"

javascript - 按标签从 Gmail 帐户获取所有邮件

php - Codeigniter 和 SQLite - 将 session 保存到数据库不起作用(ci_session)

css - 如何应用 Laravel 5 教程中的基本 Bootstrap 样式?