Moy*_*ari 16 php postgresql pdo laravel laravel-5
我正在使用postgres作为数据库在Laravel 5上工作.我配置了postgres 9.4和pgAdmin III,这些都正常工作.当我尝试运行迁移时,它给了我错误:
[PDOException]
找不到驱动程序
这是我的database.php
'default' => 'pgsql',
'pgsql' => [ 'driver' => 'pgsql',
'host' => '127.0.0.1',
'database' => 'fms',
'username' => 'postgres',
'password' => 'root',
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public', ],
Run Code Online (Sandbox Code Playgroud)
最初我虽然,这是由于Windows 7上的postgres配置,但我尝试使用纯PHP,它的工作完美
<?php
$host = "host=127.0.0.1";
$port = "port=5432";
$dbname = "dbname=fms";
$db = pg_connect( "$host $port $dbname user=postgres password=root" );
if(!$db){
echo "Error : Unable to open database\n";
} else {
echo "Opened database successfully\n";
}
?>
Run Code Online (Sandbox Code Playgroud)
我也在wamp中启用了php_pgsql和php_pdo_sql.我不知道如何在laravel 5上解决这个问题.
Sul*_*een 32
正如你所说,你已经选择默认数据库作为Postgres SQL
'default' => 'pgsql',
Run Code Online (Sandbox Code Playgroud)
您必须在php配置设置中取消注释pdo和postgres共享对象 (php.ini)
即,您需要在php.ini中取消注释以下行
extension=pdo_pgsql.so
extension=pgsql.so
Run Code Online (Sandbox Code Playgroud)
注意 :
不要忘记apache在执行此更改后停止并启动您(或者php-fpm如果使用该更改).
Laravel-WAMP-PostgreSql驱动程序遇到相同的问题,未发现异常。我什至像您一样成功建立了与Postgre的直接连接,但是使用“ php artisan migration”命令并不成功。
经过长期研究,我发现有多个php.ini文件,其中“ extension = php_pdo_pgsql.dll”和“ extension = php_pgsql.dll”被注释掉了。
解决方案是(当然)不要使用以下文件中的扩展名:
**您可以省去“ php.ini-development”和“ php.ini-production”(不需要取消输入这些文件)。
| 归档时间: |
|
| 查看次数: |
72384 次 |
| 最近记录: |