我面临着 Laravel 和 PostgreSQL 的挑战。每当我尝试使用
php artisan migrate
运行迁移时,我都会遇到“找不到驱动程序”错误。作为 WampServer 的新手,我尝试了一些故障排除步骤,并且希望得到一些指导。
php.ini
(extension=pdo_pgsql
) 中启用了 PostgreSQL PDO 扩展。php.ini
。<?php echo info(); ?>
加载。php artisan config:cache
清除了 Laravel 配置缓存。尽管我做出了努力,问题仍然存在。以下是一些其他详细信息:
我还确认我可以使用独立的 PHP 脚本连接到 PostgreSQL 数据库,这表明 PostgreSQL PDO 驱动程序可以正常工作。
<?php
try {
$pdo = new PDO('pgsql:host=127.0.0.1;port=5432;dbname=mydb', 'postgres', 'r***');
echo 'Connected successfully';
} catch (PDOException $e) {
die('Connection failed: ' . $e->getMessage());
}
补充说明:
Laravel
.env
配置:
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=mydb
DB_USERNAME=postgres
DB_PASSWORD=r**
php artisan migrate
的输出:
Illuminate\Database\QueryException: could not find driver (SQL: select * from information_schema.tables where table_catalog = your_database_name and table_schema = public and table_name = migrations and table_type = 'BASE TABLE')
任何解决此问题的帮助将不胜感激。 谢谢!
我解决了浏览器和CLI中PHP版本不同引起的问题。这就是我所做的:
使用
php --ini
检查了 CLI PHP 版本。
Loaded Configuration File: C:\wamp64\bin\php\php8.0.30\php.ini
在 php.ini 文件中取消提交这些行:
extension=pdo_pgsql
extension=pgsql
已保存并确保扩展程序处于活动状态。
现在,两个环境都使用相同的 PHP 版本,一切都运行顺利。