Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi undefined pg_connect()

Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi undefined pg_connect()

王林
王林asal
2023-06-22 22:30:211936semak imbas

PHP ialah bahasa skrip sebelah pelayan yang digunakan secara meluas untuk membina aplikasi web. PostgreSQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang popular Apabila menggunakan pangkalan data PostgreSQL, anda biasanya perlu menggunakan sambungan PostgreSQL dalam PHP. Walau bagaimanapun, kadangkala anda menghadapi ralat, iaitu "PHP Fatal error: Call to undefined function pg_connect()", dan anda perlu menyelesaikan masalah ini untuk meneruskan dengan lancar.

Jadi, apakah yang perlu anda lakukan jika anda menghadapi ralat ini apabila menggunakan PostgreSQL dalam PHP? Artikel ini akan memperkenalkan anda kepada beberapa kaedah untuk menyelesaikan masalah ini.

Kaedah 1: Pasang sambungan PHP Postgresql

Mula-mula, anda perlu mengesahkan sama ada PHP anda telah memasang sambungan PostgreSQL. Jika ia tidak dipasang, anda perlu memasang sambungan terlebih dahulu.

Jika versi PHP anda ialah 5.3 dan ke atas, anda boleh menggunakan alat PECL untuk memasang sambungan PostgreSQL. Buka terminal dan masukkan arahan berikut:

sudo pecl install pdo_pgsql

Jika versi PHP anda lebih rendah daripada 5.3, anda boleh menggunakan arahan berikut untuk memasangnya:

sudo apt-get install php5-pgsql

Selepas pemasangan, jika anda menggunakan Pelayan Apache, anda perlu memulakan semula Apache untuk berkuat kuasa.

Kaedah 2: Semak fail php.ini

Jika anda telah memasang sambungan PostgreSQL dan menghadapi ralat "PHP Fatal error: Call to undefined function pg_connect()", maka anda Anda perlukan untuk menyemak sama ada fail php.ini dikonfigurasikan dengan betul.

Pertama, cari laluan di mana fail php.ini berada. Biasanya, fail php.ini terletak dalam laluan /etc/php.ini atau /etc/php5/apache2/php.ini. Anda boleh menggunakan arahan berikut untuk mencarinya di terminal:

sudo find / -name "php.ini"

Selepas itu, buka fail php.ini dan cari baris kod berikut:

;extension=pgsql.so

Alih keluar simbol ulasan sebelumnya " ;" supaya menjadi :

extension=pgsql.so

Kemudian, simpan dan tutup fail php.ini. Jika anda menggunakan pelayan Apache, anda perlu memulakan semula Apache untuk berkuat kuasa.

Kaedah 3: Semak sama ada perkhidmatan PostgreSQL telah dimulakan

Jika anda telah memasang sambungan PostgreSQL dan fail php.ini telah dikonfigurasikan dengan betul, tetapi masih menghadapi "ralat PHP Fatal: Call kepada undefined function pg_connect()", maka anda perlu menyemak sama ada perkhidmatan PostgreSQL telah dimulakan.

Biasanya, perkhidmatan PostgreSQL bermula secara automatik apabila sistem pengendalian bermula. Anda boleh menyemak sama ada perkhidmatan PostgreSQL sedang berjalan menggunakan arahan berikut:

sudo service postgresql status

Jika perkhidmatan PostgreSQL tidak berjalan, anda boleh memulakan perkhidmatan menggunakan arahan berikut:

sudo service postgresql start

Juga, jika anda sedang berjalan pada mesin lain Untuk pangkalan data PostgreSQL, anda perlu menentukan alamat IP, nombor port, nama pengguna, kata laluan dan maklumat lain pelayan pangkalan data dalam kod PHP. Anda boleh menggunakan kod PHP berikut untuk menguji sambungan ke pangkalan data:

$conn = pg_connect("host=localhost port=5432 dbname=mydatabase user=myusername password=mypassword");

Jika sambungan berjaya, ini bermakna anda telah menyelesaikan masalah "PHP Fatal error: Call to undefined function pg_connect()" masalah.

Ringkasan:

Ralat "PHP Fatal error: Call to undefined function pg_connect()" biasanya disebabkan oleh PHP tidak dapat mencari sambungan PostgreSQL atau oleh konfigurasi yang salah dalam php.ini fail. Anda boleh menyelesaikan masalah ini dengan memasang sambungan PostgreSQL, menyemak konfigurasi fail php.ini dan menyemak sama ada perkhidmatan PostgreSQL dimulakan. Jika anda belum menyelesaikan ralat ini dengan mengikuti kaedah di atas, anda boleh merujuk forum teknikal PHP atau komuniti pembangunan PHP untuk mendapatkan bantuan lanjut.

Atas ialah kandungan terperinci Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi undefined pg_connect(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn