Laravel 5.7 SQLSTATE[HY000] [2002] No connection could be made - php

I am using laravel 5.7 and i am getting this error. But its working fine for older versions. i am using xamp with php 7.3.* . Here is my code
.env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3308
DB_DATABASE=project
DB_USERNAME=root
DB_PASSWORD=
DB_DEFAULT=mysql
database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3308'),
'database' => env('DB_DATABASE', 'project'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => false,
'engine' => null,
'default' => env('DB_DEFAULT', 'mysql')
],
Database is fine and i tried connecting with test.php file, its connecting fine but have problem with laravel 5.7

This error usually means the target machine was reachable, but is not listening on that port.
Some things to check:
The default port for MySQL is 3306, not 3308. Was this change intentional?
XAMPP often requires that you start the database manually. Is it online?
If the database is on your local machine, is it also configured to listen on 3308 instead of 3306 like your Laravel code?
Make sure your config isn't cached: php artisan config:clear
If the database is not on your local machine, then it could easily be a firewall setting causing the problem.

XAMPP to check your PORT number then change DB_PORT. I hope it works

After a lot of research about laravel 5.7 and xamp, i found the solution. It was basically the cache issue in the file bootstrap/cache/config.php .
It was reading this config cache file instead of my new file. I removed it and not its working fine. I am very thankful all of you.

Related

Error on using different MySQL server in Laravel

Thanks for your attension.
I have a Laravel 5.5 project and I want to use it with a MySQL server - being hosted on another server.
I can access MySQL server on the web browser.
https://xxx.xxx.xxx.xxx/phpmyadmin
And now I want to connect this MySQL server with a Laravel project on my local.
So I changed .env and config/database.php files like this:
.env file
DB_CONNECTION=mysql
DB_HOST=xxx.xxx.xxx.xxx (MySQL server host IP4 address like: 111.111.111.111)
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=user_name
DB_PASSWORD=password
config/database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'xxx.xxx.xxx.xxx'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'db_name'),
'username' => env('DB_USERNAME', 'user_name'),
'password' => env('DB_PASSWORD', 'password'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
],
After that I tried this:
php artisan config:clear
php artisan cache:clear
php artisan serve
But Laravel project shows me error like this:
"""
SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.\r\n
(SQL: select * from `table_name` where `one_filed` = some_value limit 1)
"""
Please help me.
Thanks.
Welcome to stackoverflow. There can be multiple issues, and you may find the correct thing from the docs or phpmyadmin config (if you have access to it):
MySQL configuration my not be on standard port of 3306
It might need SSL configuration to connect to.
The host might not be the same IP address as PHP My Admin as also stated in the comments. Even if the mysql server is accessible via the same host (very unlikely, but possible), the mysql user might have been configured with a special host

PDOException::("SQLSTATE[HY000] [2002] Connection refused" in laravel

I have successfully installed Laravel and it running in a http://127.0.0.1:8000/. when I run the php artisan migrate it gives me the following error.
PDO::__construct("mysql:host=127.0.0.1;port=3306;dbname=plantshop", "root", "", []) /Projects/blog/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
I can able to access my php myadmin using http://192.168.64.2 port but not by http://127.0.0.1:8000/ and one more thing is I have a lamp/htdocs/abc directory if I go to this link the page is not displaying and it says
Access forbidden!
You don't have permission to access the requested object. It is either read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster.
I have tried changing the port number and directly pointed unix_socket to php myadmin but none of its working. what is wrong with my configuration? I am using a mac, could anyone help me out?
my .env file
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=plantshop
DB_USERNAME=root
DB_PASSWORD=
Databse.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
You're searching for the database at the address 127.0.0.1, but you most likely configured it to use address 192.168.64.2. In your .env, you need to direct DB_HOST to your actual DB server, in this case, 192.168.64.2.
In your case MySQL server is not running. Please restart the MySQL server, The issue will resolve.
if you are using an ubuntu server then run the below command.
sudo /etc/init.d/mysql start

SQLSTATE[HY000] [1049] Unknown database 'ictinder'

So for some reason I get this error in my browser when using Laravel. I feel like I got everything set up correctly:
This is my .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ictinder
DB_USERNAME=root
DB_PASSWORD=secret
This is my database.php file:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'ictinder'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'secret'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
This is a screenshots from my phpMyAdmin, it's Dutch so if you don't understand something, let me know
This is what the error looks like in my browser
Thank you for taking your time to help out, or at least read my question!
EDIT 1:
I already tried php artisan cache:clear and php artisan config:clear, both didn't work. I can use php artisan migrate.
If you are using vagrant to run your project. you have to change your db port into 33060 and change your db username into homestead
if you are running your program using php artisan serve, your db port should be 3306 into your db username
see the docs laravel homestead
Hope this can help you
What you need to do in your case is to remove the ictinder from your database and also from your .eve file. then recreate the ictinder again from where it was been remove, it's adventurous to leave the empty DB_PASSWORD like this DB_PASSWORD=, if your MySQL does not have a password, also remember that
If you are using the PHP's default web server (e.g. php artisan serve) you need to restart your server after changing your .env file values.

Configuring laravel app for production

everyone. I've recently encountered problems trying to deploy my laravel app to production-like server. So far I've been using it in homestead environment and everything was just fine.
My .env contains something like this:
APP_URL=http://public.server.url
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=myusername
DB_PASSWORD=mypassword
In mysql (running on port 3306) I've set up user 'myusername'#'localhost' with mypassword and indeed I can connect using
mysql -u myusername -p
Even 'php artisan migrate' command works and modifies my database properly.
config/database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'homestead'),
'username' => env('DB_USERNAME', 'myusername'),
'password' => env('DB_PASSWORD', 'mypassword'),
//'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
Problem is my http controllers don't behave correctly. I am getting 500 server error when sending requests on my routes (no matter how dummy logic they do) and 404 not found when trying to reach non-existing route. Also nothing is appended in the log file. So I am guessing as far as registering routes my app works, but right after that it fails. Any suggestions? I would really appreciate any tips.

Laravel: SQLSTATE HY000 2002 No connection could be made because the target machine actively refused it

I am trying to migrate migrations to MySQL database using php artisan migrate in Laravel 5.2's Homestead on my local machine. I keep getting this error:
[PDOException]
SQLSTATE[HY000] [2002] No connection could be made because the target machine
actively refused it.
I can connect to the database just fine using MySQL workbench, but I want to use laravel's migration feature.
My database.php looks like this:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '192.168.10.10'),
'port' => env('DB_PORT', '33060'),
'database' => env('DB_DATABASE', 'laraveldb'),
'username' => env('DB_USERNAME', 'homestead'),
'password' => env('DB_PASSWORD', 'secret'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => null,
],
Has anyone had this problem before?
Use these default settings in your .env file:
DB_HOST=127.0.0.1
DB_PORT=33060
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Also, be sure homestead database is created.
The thing is .env settings override database.php ones.
Documentation
Turn on xampp then you can try it again. thankyou
Tried using different ports IPs?
127.0.0.1 33060
192.168.10.10 3306 or 33060 nd its working
Homestead v12

Categories