如何将我的生产应用程序链接到Laravel 5中的生产数据库?

时间:2015-04-23 14:42:05

标签: php mysql laravel laravel-5

在Laravel 5中。

我使用位于我的根目录中的 .env 来设置配置,以便将我的应用程序链接到本地​​数据库。

.ENV

APP_ENV=local
APP_DEBUG=true
APP_KEY=REtW71G*****VgHqmzXsuvqL8ziFR

DB_HOST=127.0.0.1
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=my-email@gmail.com
MAIL_PASSWORD=********

现在,我想将生产应用程序连接到我的生产数据库。

我已尝试编辑 .env.example 但它似乎没有任何影响。

我需要使用这样的东西吗?如果是这样,我应该在哪里使用它? Laravel 5的哪个文件?我不确定。

if ($app->environment('local'))
{
    // The environment is local
}

if ($app->environment('local', 'staging'))
{
    // The environment is either local OR staging...
}

将生产应用程序链接到生产数据库的最有效方法是什么?

3 个答案:

答案 0 :(得分:0)

正如你所说,你正在编辑.env.example,顾名思义这只是一个示例文件。您必须重命名它或创建副本并将其命名为.env

在该文件中设置您的生产配置,如果您想要APP_KEY,则必须添加该字段并且不能为空在这种情况下我将其设置为yada

APP_ENV=local
APP_DEBUG=true
APP_KEY=yada

DB_HOST=127.0.0.1
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=my-email@gmail.com
MAIL_PASSWORD=********

既然我们的关键不是那么好,我们会用工匠命令生成一个新关键字:

php artisan key:generate

答案 1 :(得分:0)

感谢@Fabio Antunes

<强>第一

在您的生产服务器中,重新命名您的.env.example - &gt; .env

<强>第二

您的生产服务器上的.env文件中应该有类似的内容

APP_ENV=production
APP_DEBUG=false
APP_KEY=****// you need to create this key // ****
DB_HOST= http://48.23.91.132/
DB_DATABASE=database-name
DB_USERNAME=username
DB_PASSWORD=iU308475987MTJ9JdMvN

<强>第三

创建您的APP_KEY php artisan key:generate

<强>第四

测试它是否有效。

  • 编写一个简单的迁移脚本
  • 运行php artisan migrate
  • 在命令行中,您应该看到如下内容:

enter image description here

另一项测试是

使用以下应用程序为您配置数据库:

MySQL Workbench Sequel Pro

  • 应添加迁移表。
  • 应添加表格

enter image description here

完成

答案 2 :(得分:-1)

如果您使用的是宅基地,请添加&#34;端口&#34;到DB_HOST。

例如:

DB_HOST=127.0.0.1:33060
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

如果要链接到生产数据库。更改您的DB_HOST..etc。但是,首先检查您的生产数据库/服务器是否接受外部连接。