【发布时间】:2017-10-13 12:21:51
【问题描述】:
我使用 Laravel 和 PostgreSQL 启动了一个项目,但我无法进行迁移。
[Illuminate\Database\QueryException]
could not find drive (SQL: select * from information_schema.tables where table_schema = public and table_name = migrations)
[PDOException]
could not find driver
我检查了我的 php.ini 并取消了注释:
extension=php_pdo_pgsql.dll
extension=php_pgsql.dll
我重新启动了服务器,当我再次尝试时,控制台给了我同样的错误。我在 laravel 中检查了我的 .env 文件,没关系(我认为)
DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=laravelPSQL
DB_USERNAME=postgres
DB_PASSWORD=password
我还检查了database.php,没关系。
'default' => env('DB_CONNECTION', 'pgsql'),
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'prefer',
]
我做的最后一件事是使用函数 phpinfo() 创建一个文件,以查看是否启用了 pgsql 的文件,是的。
老实说,我不知道发生了什么。我在 Wamp64 和 XAMPP 中尝试过......什么也没有。 PD。我使用的是 Windows 10
【问题讨论】:
-
运行
php artisan migrate:install时是否出现错误?如果是这样,您可能在配置的 Web 版本中启用了扩展,而不是 CLI。尝试从命令行运行php -i | grep pgsql,看看你会得到什么。 -
当我运行“php artisan migrate”时,它给了我问题中的错误。但是如果我尝试“php artisan migrate:install”它会给我:[Illuminate\Database\QueryException] 找不到驱动器(SQL:创建表“迁移”(“id”序列主键不为空,“迁移”varchar(191 ) 不为空,“批量”整数不为空))
-
感谢您的命令,但我有 Windows。
-
您可以使用类似 cmder.io 的东西,它位于 msysgit 之上,让您在 Windows 上使用更多 Linux 风格的终端。这就是我在 Windows 10 上使用的,虽然我在 VM 中运行 PHP。
-
谢谢 Jeremy,所以...我运行 php -i |我的laravel项目文件夹中的grep pgsql?还是在别的地方?? o 和那个命令,它到底是做什么的??
标签: php postgresql laravel pdo