Điểm:0

Lỗi chưa xử lý: Gọi hàm chưa xác định pg_connect()

lá cờ us

Tôi có cấu hình máy chủ sau:

  • Ubuntu 20.04.3 LTS
  • PHP 7.4.13 (cli)
  • psql (PostgreSQL) 12.9 (Ubuntu 12.9-0ubuntu0.20.04.1)

Tôi đã chuyển dịch vụ web của mình dựa trên WordPress từ máy chủ Windows sang Linux. Hiện nay, khi tôi cố tải một trong các trang web, máy chủ nginx của tôi báo cáo

24 FastCGI được gửi trong thiết bị lỗi chuẩn: "PHP message: PHP Fatal error: Uncaught Lỗi: Gọi hàm không xác định pg_connect()

Một trong những đề xuất tôi tìm thấy là xóa dấu chấm phẩy (;) khỏi php.ini và bật hai tiện ích mở rộng:

tiện ích mở rộng = pdo_pgsql
tiện ích mở rộng = pgsql

Thật không may, nó đã gây ra cảnh báo bổ sung trong quá trình khởi tạo php rằng các thư viện đó không thể tải được vì không tồn tại các tệp được yêu cầu (pdo_pgsql, pdo_pgsql.so, pgsql và pgsql.so).

Bạn có biết phải làm gì để hiển thị lại các trang web của tôi không?

raj avatar
lá cờ cn
raj
Các phần mở rộng PHP thường được phân phối trong các gói riêng biệt với gói PHP chính; bạn có thể phải cài đặt gói `php-pssql` sẽ cung cấp các tệp này.
Darek avatar
lá cờ us
Cảm ơn @raj vì phản hồi của bạn. Tôi đã thử cài đặt php7.4-pssql nhưng tôi nhận được nhận xét về các phụ thuộc chưa được đáp ứng: php7.4-pgsql : Phụ thuộc: php7.4-common (= 7.4.3-4ubuntu2.8) nhưng 7.4.13-1+ubuntu18.04.1+deb.sury.org+1 sẽ được cài đặt E: Không thể khắc phục sự cố, bạn đã giữ các gói hàng bị hỏng.
raj avatar
lá cờ cn
raj
Có vẻ như bạn đã trộn lẫn các kho lưu trữ. `php7.4-pgsql` có thể sẽ được cài đặt từ kho lưu trữ Ubuntu tiêu chuẩn và các gói PHP cơ bản của bạn có thể đã được cài đặt từ kho lưu trữ của Ondrej Sury chứa các cổng PHP không chính thức. Repo đó dường như không chứa `php-pgsql`, vì vậy bạn nên gỡ cài đặt các gói PHP mà bạn đã cài đặt, tắt repo của bên thứ ba đó và cài đặt lại PHP từ kho lưu trữ Ubuntu tiêu chuẩn. Tốt nhất là tránh sử dụng các kho lưu trữ của bên thứ ba trừ khi thực sự cần thiết, vì điều này có thể gây ra xung đột với các gói hệ thống (mà bạn gặp phải).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.