9

我正在我的 laravel 应用程序的本地开发服务器上使用 MAMP,我试图弄清楚如何安全地设置我的服务器,所以我不必在数据库连接 mysql 数组中使用以下内容,因为那应该只当我在我的开发服务器上时使用。当我将该行添加到 mysql 数组中时它可以工作,但是如果我在生产服务器上则不会使用它。有任何想法吗?

'unix_socket'   => '/Applications/MAMP/tmp/mysql/mysql.sock',

.env.development.php

<?php

return [
    'DB_HOST' => '127.0.0.1',
    'DB_USERNAME' => 'root',
    'DB_PASSWORD' => '1234',
    'DB_NAME' => 'mytable'
];

应用程序/配置/数据库.php

'connections' => array(

        'mysql' => array(
            'driver'    => 'mysql',
            'host'      => getenv('DB_HOST'),
            'database'  => getenv('DB_NAME'),
            'username'  => getenv('DB_USERNAME'),
            'password'  => getenv('DB_PASSWORD'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ),
4

5 回答 5

15

甚至有简单的解决方案。将此添加到您的 .env 文件中

DB_HOST=localhost;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock
于 2016-09-15T11:42:35.517 回答
6

config/database.php

'mysql' => [
            'driver' => 'mysql',
            'host' => env('DB_HOST'),
            'unix_socket' => env('UNIX_SOCKET'),
            'port' => env('DB_PORT'),
            'database' => env('DB_DATABASE'),
            'username' => env('DB_USERNAME'),
            'password' => env('DB_PASSWORD'),
            'charset' => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix' => '',
            'strict' => false,
            'engine' => null,
        ],

.env

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mytable
DB_USERNAME=root
DB_PASSWORD=1234
UNIX_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
于 2016-07-25T09:38:51.400 回答
5

检查环境检测部分bootstrap/start.php。您应该将您的机器名称添加到具有local密钥的数组中。(如果您不知道您的机器名称,请hostname在终端中运行。如果它很愚蠢,请谷歌如何更改它。这很简单。)然后将您的数据库配置复制并粘贴到app/config/local/database.php. 如果文件不存在,则创建该文件。

于 2014-12-08T19:44:32.907 回答
1

确保 MAMP 首选项设置为 Apache 端口:80,Nginx 端口:80,MySQL 端口:3306

以下是 Laravel 5.7 对我有用的:

转到 config/database.php 并找到下面的第 54 行:

之前:'unix_socket' => env('DB_SOCKET', ''),

之后:'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),

保存文件。

然后在终端运行: php artisan config:cache php artisan migrate

于 2019-06-21T03:06:21.777 回答
0

如果以上解决方案都不适合您......

尝试实际启动您的网络服务器,因为这对我来说是修复

于 2019-01-22T16:57:01.147 回答