'Laravel MSSQL Server Connection not working
Laravel version:7.13
, SqlServer:2019
SQLSTATE[08001]: [Microsoft][ODBC Driver 17 for SQL Server]TCP Provider:
An existing connection was forcibly closed by the remote host (SQL: select * from [users]).
Above is error message what I got.
I tried with core php and it works well.
Below is php code.
<?php
$serverName = "MYPCNAME";
$connectionInfo = array( "Database"=>"DBNAME", "UID"=>"sa", "PWD"=>'MyPassword');
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
if(($result = sqlsrv_query($conn,"SELECT * FROM users")) !== false){
while( $obj = sqlsrv_fetch_object( $result )) {
echo $obj->name.'<br />';
}
}
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
I think SQL Server configuration is correct. I installed php_sqlsrv, php_pdo_sqlsrv extensions and they are displayed as installed in phpinfo()
Here is my Laravel configuration.
DB_CONNECTION=sqlsrv
DB_HOST=MYPCNAME
DB_PORT=1433
DB_DATABASE=DBNAME
DB_USERNAME=sa
DB_PASSWORD=MyPassword
Following is database config file.
'sqlsrv' => [
'driver' => 'sqlsrv',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST'),
'port' => env('DB_PORT'),
'database' => env('DB_DATABASE'),
'username' => env('DB_USERNAME'),
'password' => env('DB_PASSWORD'),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],
I tried to change DB_HOST
with 127.0.0.1
too but there was same issue.
I was going to get users from users table.
My thought: I changed server name with 127.0.0.1
in core php and it displayed exact same error with laravel.
Can anyone help me? Thanks
Solution 1:[1]
Ok, I sovled issue.
When I set DB_PORT=null
it worked.
However, I didn't find the exact answer yet.
Here is post url about it.
PHP Sqlsrv connection not working when specify port, instance
I think the main reason is above.
Anyway If I set DB_PORT=null
, it worked successfully.
Solution 2:[2]
Sometimes you just run this command on the terminal. Note that if it was working perfectly before the error
php artisan optimize:clear
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | lovecoding |
Solution 2 | ephantus okumu |