I can't connect to MySQL/MariaDB database (XAMPP) using Laravel, but I can through mysqli and PDO classes using the same configurations.
.env file
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=database
DB_USERNAME=root
DB_PASSWORD=toor
This code works on Linux (mysqld) but on Windows I get
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed
error.
Please help me
PHP version: 7.3.11
Laravel version: 5.7.20
MariaDB version: 10.4.8
Change localhost to 127.0.0.1 and it should work for you.
run:
php artisan cache:clear
Related
I am using Laravel Sail/ Docker for the first time. I have got my site running fine but the issue is that I cannot access the DB via a GUI (Sequel Pro). I have added the default credentials from my env but cannot access. But seem to be able to run php artisan migrate. Does anybody have any tips for how I can debug this?
This is my .env file:
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=my-db
DB_USERNAME=sail
DB_PASSWORD=password
The solution for you might be in the last comment here by Lorenzo Franzone: changing the SequelPro version.
Rather than this though, I dropped the version of MySQL in docker-compose from 8.0 to 5.7 to work with my very old version of SQLYog and: Bingo! It worked.
Simple, you must change DB_HOST=mysql to DB_HOST=127.0.0.1
Have a good day.
I keep this while running php artisan migrate
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
My Environment
Laravel Framework version 5.1.20 (LTS)
Laravel Installer version 1.2.0
PHP 5.6.14 (cli) (built: Oct 2 2015 08:55:56)
mysql Ver 14.14 Distrib 5.6.24, for osx10.10 (x86_64)
.env file
APP_ENV=local
APP_URL=http://localhost/
APP_DEBUG=true
APP_KEY=****
DB_HOST=http://localhost/
DB_DATABASE=name-local
DB_USERNAME=root
DB_PASSWORD=
UNIX_SOCKET = /tmp/mysql.sock
That data-base name-local is exist in my local database.
Any hints / suggestions will be a huge help for me.
Check your DB_HOST on your .env file
DB_HOST=http://localhost/ --> DB_HOST=localhost
Result:
I can migrate peacefully now.
php artisan migrate
Migration table created successfully.
Migrated: 2014_10_12_000000_create_users_table
Set DB_HOST=localhost and run the following artisan command
php artisan config:clear it will help you, clear cached config
I finally figured out what was causing this error for me. I'm using docker but I wasn't running php artisan migrate from the shell in the container. I was just running it in Terminal after navigating to the laravel project folder.
Go to your docker dashboard and launch the CLI for the laravel container in the image for your project. Then run the migrate command.
You might also get this error if you are using sail, and you run
php artisan migrate
instead of:
sail artisan migrate
I had the same problem while running Laravel from DDEV.
Solution: run "php artisan migrate" within your DDEV container.
user#ddev-project: ddev ssh
user#ddev-project:/var/www/html$ php artisan migrate
That should solve the issue.
Had the same issue on laravel 8.x after a fresh install. Setting DB_HOST=0.0.0.0 fixed it for me.
Remember to run php artisan config:clear afterwards.
if you are using docker first find your docker container with docker ps command and then execute php artisan migrate command form your container with this command
docker exec -it {containerId}
bash
You can change the SESSION_DRIVER to file. Worked for me.
I'm using Laravel 7, when I launch from terminal php artisan migrate, I get this error
zsh: illegal hardware instruction php artisan migrate
All other artisan commands works fine like php artisan make:model or php artisan make:migration
System requirements:
PHP 7.4.5 (cli)
Zend Engine v3.4.0
MacBook Pro Catalina 10.15.4
Thank you
Just resolved yet.
I'm using MAMP PRO for the virtual server
The problem was in the db configuration, I added in the .env file
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
The default configuration in the .env file didn't work for me, this configuration will work
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=8889
DB_DATABASE=dbname
DB_USERNAME=root
DB_PASSWORD=root
DB_SOCKET=/Applications/MAMP/tmp/mysql/mysql.sock
I'm setting up my project after restoring my macOS Mojave and getting an error. I install MySQL with homebrew.
I tried to change localhost to 127.0.0.1 but it didn't help me
This is my .env
DB_CONNECTION = mysql,
DB_HOST = localhost
DB_PORT = 3306
DB_DATABASE= example
DB_USERNAME=root
DB_PASSWORD=
This is an error message
1 Doctrine\DBAL\Driver\PDOException::("SQLSTATE[HY000] [2002] No
such file or directory")
/Documents/cleaning/example/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:31
2 PDOException::("SQLSTATE[HY000] [2002] No such file or
directory")
/Documents/cleaning/example/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27
If not exist .env file ,create one from .env-example and in set declare database configs and run command
If you not callin key:generate
php artisan key:generate
If you have been all,exec below command
php artisan config:cache
And try
php artisan migrate
If your still get error try localhost or http://127.0.0.1 ,edit it
And again run below command
php artisan config:cache
Import
-2002 error given error when user and password wrong to host
Try 127.0.0.1 instead of localhost in your .env file.
Run php artisan cache:clear
php artisan migrate --env=production
Above steps works for me.
I have a basic issue in laravel setup.
I have setup laravel 5.5 using php7.0(cli) and for artisan migrate I have install the mysql server on my system (I have already xampp on my system) so now my Laravel project access the mysql cli (not xampp which I access with phpmyadmin) how can I connect my laravel with xampp database.
currently its direct configure with cli php and mysql-server
Thanks
You have .env file in your project root folder. There you can edit:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=root
DB_PASSWORD=
By default, XAMPP root username is root, there is no password and port is 3306.
Obviously, you have to start MySQL in XAMPP control panel.
Go to .env file in your project root folder, there you can edit:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=testdatagym
DB_USERNAME=root
DB_PASSWORD=