Php Laravel 7 SQLSTATE[HY000][2002]连接被拒绝

Php Laravel 7 SQLSTATE[HY000][2002]连接被拒绝,php,mysql,laravel,Php,Mysql,Laravel,我的Laravel项目有问题。我几个小时前启动了它,但遇到了一个SQL错误: SQLSTATE[HY000][2002]连接被拒绝 我已经搜索了几个小时了,我只发现密码或端口有误,但我检查过了,对我来说没问题 以下是.env文件: DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3302 DB_DATABASE=test_technique DB_USERNAME=root DB_PASSWORD= 下面是.env.example文件: DB_CON

我的Laravel项目有问题。我几个小时前启动了它,但遇到了一个SQL错误:

SQLSTATE[HY000][2002]连接被拒绝

我已经搜索了几个小时了,我只发现密码或端口有误,但我检查过了,对我来说没问题

以下是.env文件:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3302
DB_DATABASE=test_technique
DB_USERNAME=root
DB_PASSWORD=
下面是.env.example文件:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3302
DB_DATABASE=test_technique
DB_USERNAME=root
DB_PASSWORD=
下面是database.php:

'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3302'),
        'database' => env('DB_DATABASE', 'test_technique'),
        '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' => true,
        'engine' => null,
        'options' => extension_loaded('pdo_mysql') ? array_filter([
            PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
        ]) : [],
    ],
检查mysql的端口:

Test for TCP
Your port 3302 is used by a processus with PID = 2292
The processus of PID 2292 is 'mysqld.exe' Session: Services
The service of PID 2292 for 'mysqld.exe' is 'N/A'
N/A means that there are no service related to PID 2292
Processus 'mysqld.exe' is launched by service 'wampmysqld64' with PID 5048

Test for TCPv6
Your port 3302 is used by a processus with PID = 2292
The processus of PID 2292 is 'mysqld.exe' Session: Services
The service of PID 2292 for 'mysqld.exe' is 'N/A'
N/A means that there are no service related to PID 2292
Processus 'mysqld.exe' is launched by service 'wampmysqld64' with PID 5048
我从来没有在mysql中更改过用户名和密码,所以我不知道为什么会出现这个错误

附言:在另一个网站上,当我像这样使用PDO时,它可以工作:

new PDO("mysql:host=localhost:3302;dbname=test_technique;charset=utf8", "root", "",array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

MySQL的默认端口是3306而不是3302。除非您在php.ini中更改了端口,否则必须这样使用

DB_PORT = 3306
运行此命令

php artisan config:clear
而不是使用

php artisan serve 
使用


这可能会有所帮助,因为如果您使用artisan serve并对env进行更改,则必须终止该服务并再次运行。

Hmmm.3306,而不是3302,是MySQL的默认端口。如果您想更完整地解释您的特定设置,它可能会帮助我们,我知道,但是我的3306已经被使用了,所以我切换到3302用于mysql。请确保您可以在命令行上使用端口3302连接到mysql
mysql-u root--port=3302
。如果不能,则需要更改mysql的配置。虽然我很好奇3306上运行的不是mysql。谢谢,这很有效,我不知道artisan serve如果我们想应用的话必须被杀掉。env更改
 php -S 127.0.0.1:8000 -t public/