Laravel: Ralat [PDOException]: Pemacu tidak ditemui dalam PostgreSQL
P粉722409996
2023-07-31 18:16:43
<p>Terjemah: "Saya cuba menyambung ke pangkalan data PostgreSQL melalui Laravel untuk melaksanakan perintah php artisan migrate, tetapi ia nampaknya tidak berjaya kerana ia membaca nama pangkalan data MySQL.<br / ><br /> ;Berikut ialah arahan dalam pangkalan data.php:</p><p><br /></p>
<pre class="brush:php;toolbar:false;">'connections' =>
'sqlite' => tatasusunan(
'driver' => 'sqlite',
'pangkalan data' => __DIR__.'/../database/production.sqlite',
'awalan' => '',
),
'mysql' => tatasusunan(
'driver' => 'mysql',
'host' => 'localhost',
'pangkalan data' => 'pangkalan data',
'username' => 'root',
'kata laluan' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'awalan' => '',
),
'pgsql' => tatasusunan(
'driver' => 'pgsql',
'host' => 'localhost',
'database' => 'postgres',
'username' => 'postgres',
'kata laluan' => 'root',
'charset' => 'utf8',
'awalan' => '',
'schema' => 'awam',
),
'sqlsrv' => tatasusunan(
'driver' => 'sqlsrv',
'host' => 'localhost',
'pangkalan data' => 'pangkalan data',
'username' => 'root',
'kata laluan' => '',
'awalan' => '',
),
),</pra>
<p>Jika saya mengalih keluar laluan ke MySQL, saya mendapat: </p>
<pre class="brush:php;toolbar:false;">[InvalidArgumentException]
Pangkalan data [mysql] tidak dikonfigurasikan.</pre>
<p><br /></p><hr />
<strong>Terjemah: "Edit: Saya mendapat ralat 'PDOException: tidak dapat mencari pemandu' semasa cuba melaksanakan perintah php artisan migrate. Saya menggunakan WAMP dan pada Windows 8.1. Pangkalan data menggunakan PostgreSQL."< /strong><p><br /></p>
<p><br /></p><hr />
<strong>EDIT:</strong> Terjemah: "Saya telah mencuba beberapa siri penyelesaian alternatif tetapi masalahnya masih tidak dapat diselesaikan. Telah menyemak php.ini dalam Apache, WAMP (dari folder php) dan fail PostgreSQL. extension_dir ditetapkan dengan betul seperti berikut -> extension_dir = "c:/wamp/bin/php/php5.5.12/ext/" telah tidak dikomen < dalam 'Pembolehubah Sistem' dan mulakan semula komputer, tetapi masih tidak berjaya.<br /><br />Terima kasih atas bantuan setakat ini. <br /><br />Ini ialah pemacu php_pdo_driver.h dan php_pdo.h saya yang terletak dalam C:Program Files (x86)PostgreSQLEnterpriseDB-ApachePHPphpSDKincludeextpdo<br /><br />info diperolehiFrom : <br /><p><br /></p>
<blockquote>
<p>Terjemah: "PHP versi 5.5.12<br /><br />Penyusun MSVC11 (Visual C++ 2012) arahan konfigurasi cscript /nologo configure.js "--enable-snapshot-build" "- - disable-isapi" "--dayakan-debug-pack" "--tanpa-mssql" "--tanpa-pdo-mssql" "--tanpa-pi3web" "--dengan-pdo-oci=C:php- sdkoraclex64instantclient10sdk ,shared" "--with-oci8=C:php-sdkoraclex64instantclient10sdk,shared" "--with-oci8-11g=C:php-sdkoraclex64instantclient11sdk,shared" "--enable-object-out-dir=../ obj // "--enable-com-dotnet=shared" "--with-mcrypt=static" "--disable-static-analyse" "--with-pgo""</p><p>< ; br /></p>
</blockquote><p><br /></p>
"Untuk PDOException: tidak dapat mencari pemacu untuk ralat MySQL, jika ia adalah sistem pengendalian berasaskan Debian
Terjemah: "Pastikan untuk mengkonfigurasi kekunci 'lalai' dalam app/config/database.php.
Untuk PostgreSQL, konfigurasi hendaklah 'lalai' => 'postgres'.
Jika anda menerima [PDOException] tidak dapat cari ralat pemacu, sila semak jika anda telah memasang sambungan PHP yang betul Anda perlu memasang dan mendayakan pdo_pgsql.so dan pgsql.so Cara memasang sambungan ini berbeza-beza mengikut sistem pengendalian
Untuk Windows, sambungan pgsql sepatutnya sudah disertakan. versi rasmi. pengedaran PHP telah dimuat turun cuma edit fail php.ini anda dan nyahkomen baris berikut extension=pdo_pgsql.so dan extension=pgsql.so
Juga, pastikan extension_dir ditetapkan direktori yang betul. .ia mestilah folder bernama sambungan atau ext atau serupa dalam direktori pemasangan PHP anda
Akhir sekali, salin libpq.dll dari C:wampbinphpphp5.* ke C:wampbinapache*bin dan mulakan semula semua melalui antara muka WampServer.
Jika anda masih mendapat pengecualian, anda mungkin perlu menambah direktori bin PostgreSQL pada pembolehubah persekitaran PATH anda.
Sifat Sistem -> tab Lanjutan ->
Dalam kumpulan 'System Variables' di bahagian bawah tetingkap, tatal dan cari entri PATH.
Pilihnya dan klik edit.-
Pada penghujung entri sedia ada, masukkan laluan penuh ke direktori bin postgres anda. Folder bin harus terletak di akar direktori pemasangan postgres anda. -
Mulakan semula sebarang gesaan arahan terbuka, atau hanya untuk memastikan, mulakan semula komputer anda. -
- Ini sepatutnya menyelesaikan sebarang masalah. Untuk maklumat lanjut sila lihat:
-
http://php.net/manual/en/install.pecl.windows.php