I'm aware of a ton of hits on SO and Google about this issue, still I have a unique problem it seems.
Error message: SQLSTATE[HY000] [2002] Connection refused
Configuration
'mysql' => array(
'driver' => 'mysql',
"host" => "localhost:/var/run/mysqld4.sock",
'port' => '3304',
"username" => "admin",
"password" => "admin",
"database" => "frontend_generic",
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => 'pre_',
),
I confirmed that my database is running on port 3304, my prefix is correct, as are user, database and password.
For host I tried "localhost", "127.0.0.1", "http://127.0.0.1" and even the actual ip-address of the server.
Still, there is no luck or change. I tried using the exact same configuration in the local database.php file, but as expected, nothing changes.
Out of options, what am I missing here?
Update:
This is code from another app that works with this configuration. This is Kohana, not Laravel, but it works.
"general" => array
(
"type" => "mysql",
"connection" => array
(
"hostname" => "localhost:/var/run/mysqld4.sock",
"username" => "admin",
"password" => "admin",
"persistent" => FALSE,
"database" => "frontend_generic",
),
"table_prefix" => "pre_",
"charset" => "utf8",
"caching" => FALSE,
"profiling" => TRUE,
),
Echo the Laravel database name in Blade/PHP This will output the name of the database or return 'none' if there is no connection. If you view it in the browser, it gives you the name of the connected database. Checking whether the application is connected to a Laravel database.
Laravel makes connecting with databases and running queries extremely simple. The database configuration file is app/config/database. php . In this file you may define all of your database connections, as well as specify which connection should be used by default.
Currently, Laravel provides first-party support for five databases: MariaDB 10.3+ (Version Policy) MySQL 5.7+ (Version Policy) PostgreSQL 10.0+ (Version Policy)
It disconnects at the end of The Script. Laravel isn't using persistent connections and they can be bad at times anyway please dig into the PHP manual and there's a in-depth explaination of when and when not to use.
When using sockets with laravel 5, use the unix_socket
config instead of host
and port
.
While changing to IP addresses does work, there can be advantages to using sockets when the database server is on the same machine.
Correcting the configuration originally posted:
'mysql' => array(
'driver' => 'mysql',
"unix_socket" => "/var/run/mysqld4.sock",
"username" => "admin",
"password" => "admin",
"database" => "frontend_generic",
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => 'pre_',
),
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With