2017-02-17 11 views
0

Я перемещаю приложение с моей машины разработки на тестовый сервер. При подключении к моей локальной базе данных mysql разработки все работает так, как ожидалось. При попытке подключиться к нашему тестовому серверу возвращается время ожидания запросов через 45 секунд и ошибка 500.Время ожидания соединения Laravel при подключении к базе данных

Я проверил, что серверы могут взаимодействовать и PHP можно получить результаты, используя базовую функциональность MySQLi PHP, и результаты будут возвращены, как и ожидалось:

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT * FROM users"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo var_export($row, true); 
    } 
} else { 
    echo "0 results"; 
} 
$conn->close(); 

Следующая оба терпеть неудачу и хит ограничения времени ожидания в Laravel:

$users = DB::table('users')->get(); 

$users = User::all(); 

Мысли? Идеи? Мнения?

+0

Первый - это просто попытка подключения. Второй извлекает все записи из таблицы User. Они не сравниваются. Попробуйте 'select * from users' в командной строке mysql и посмотрите, сколько времени потребуется. Затем попробуйте выполнить некоторые протоколирования - включите медленный журнал mysql и/или general_log в течение всего теста. – aynber

+0

@aynber Обновленный вопрос после изучения вашего комментария – commanderZiltoid

+1

Следующий шаг - выяснить, является ли это просто таблицей или всеми запросами БД с использованием этих методов. Попробуйте 'DB :: select (" SELECT NOW() ");' и посмотрите, не истечет ли этот тайм-аут. Затем «DB :: select» («SHOW TABLES»); 'и' DB :: select («DESCRIBE users»); ' – aynber

ответ

0

У меня была та же проблема. Я сделал var_dump(DB::connection()); и узнал, что значение хоста было неправильным, потому что был загружен неправильный файл .env.