Я работаю с MAMP на моем локальном сервере разработки в моем приложении laravel, и я пытаюсь понять, как я могу безопасно настроить свой сервер, поэтому мне не нужно использовать следующее в базе данных 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' ];
приложение / Config / database.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' => '', ),
Проверьте часть обнаружения среды в bootstrap/start.php
. Вы должны добавить имя своей машины в массив с local
ключом. (Если вы не знаете имя своей машины, запустите hostname
в терминале. Если это что-то глупое, Google, как изменить его. Это довольно просто.) Затем скопируйте и вставьте настройки базы данных в app/config/local/database.php
. Создайте файл, если он не существует.
Существует даже простое решение. добавьте это в файл ur.env
DB_HOST=localhost;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock
В 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, ],
On .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