2014-12-08 5 views
2

Я работаю с MAMP на моем локальном сервере разработки в своем приложении laravel, и я пытаюсь выяснить, как я могу безопасно настроить свой сервер, поэтому мне не нужно использовать следующее в соединение с базами данных mysql, потому что это следует использовать только тогда, когда я нахожусь на моем сервере разработки. Он работает, когда я добавляю строку в массив mysql, однако это не используется, если я был на рабочем сервере. Есть идеи?MAMP с Laravel Unix Socket

'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' => '', 
     ), 

ответ

4

Проверьте среды обнаружения участие в bootstrap/start.php. Вы должны добавить имя своей машины в массив с ключом local. (Если вы не знаете имя своей машины, запустите hostname в терминале. Если это что-то глупое, Google, как его изменить. Это довольно просто.) Затем скопируйте и вставьте настройки базы данных в app/config/local/database.php. Создайте файл, если он не существует.

+0

Хороший ответ, но не имеет ничего общего с вопросом. Я задавал unix-сокет. – user3732216

+0

@ user3732216 В заявленном вопросе вам нужно использовать значение 'unix_socket' только на вашей машине dev. Так что просто включите эту строку в конфигурацию в свой 'app/config/local/database.php' и не включайте в свое производство' app/config/database.php'. – Bogdan

+0

Но если вы заметили, что я использую переменные окружения, а что нет. – user3732216

2

На 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 
3

Существует даже простое решение. добавьте это в ur .env файл

DB_HOST=localhost;unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock 
+0

Это лучше – rahmat

+0

Ты, мой человек, спасатель жизни. СПАСИБО! – tabacitu

 Смежные вопросы

  • Нет связанных вопросов^_^