【发布时间】:2026-01-15 19:35:01
【问题描述】:
我正在 ubuntu 18.04 上安装带有 tasksel 的灯。我已经按照中的说明进行了配置 https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-18-04
在 .env 文件和 config/database.php 文件中更改数据库详细信息后,在浏览器中访问应用程序。
创建了一个数据库“mydb”
创建了一个用户“myusername”/“mypwd”并将所有权限授予该用户和数据库。 例如-->
CREATE USER 'myusername'@'localhost' IDENTIFIED BY 'mypwd';
GRANT ALL PRIVILEGES ON * . * TO 'myusername'@'localhost';
FLUSH PRIVILEGES;
lumen .env 中的配置
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mydb
DB_USERNAME=myusername
DB_PASSWORD=mypwd
配置/数据库.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'mydb'),
'username' => env('DB_USERNAME', 'myusername'),
'password' => env('DB_PASSWORD', 'mypwd'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
]
在终端运行 'path/project_folder/'
php artisan cache:clear
日志:
[2017-01-23 09:34:24] local.ERROR: 异常 'PDOException' 带有消息 >'SQLSTATE[HY000] [1045] 用户'myusername'@'localhost'的访问被拒绝 (使用密码:YES)'在 Illuminate\Database\Connectors\Connector.php:119
注意:验证 PDO 是否在我的机器上工作 用testdb.php测试了mysql连接:
$servername = "localhost";
$dbname = "testdb";
$username = "root";
$password = "secret";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("mysqli Connection failed: " . $conn->connect_error);
}
echo "
mysqli Connected successfully
";
// working correct
// Create connection
$conn = mysqli_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("
mysqli_connect Connection failed: " . mysqli_connect_error());
}
echo "
mysqli_connect Connected successfully
";
// working correct
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "
MySQL PDO Connected successfully
";
}
catch(PDOException $e)
{
echo "
MySQL PDO Connection failed: " . $e->getMessage();
}
?>
输出是
mysqli连接成功
mysqli_connect 连接成功
MySQL
PDOConnection failed: SQLSTATE[HY000] [1045] Access denied for >user 'root'@'localhost' (using password: YES)
我本地机器上的 PDO 不工作。 mysql pdo 的扩展是活动的。多次重启 Lamp 服务器。但它仍然无法正常工作。有人可以帮忙吗?
【问题讨论】:
标签: mysql apache pdo lumen ubuntu-18.04