2017-02-17 99 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

第一个只是一个尝试的连接。第二个检索用户表中的所有记录。他们没有比较。在mysql命令行中尝试'select * from users'并查看需要多长时间。然后尝试一些日志记录 - 在测试期间打开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文件。