簡體   English   中英

Laravel 部署:PHP 錯誤無法加載動態庫“pdo_pgsql”

[英]Laravel Deployment : PHP Error Unable to load dynamic library 'pdo_pgsql'

我想在 ubuntu server 18 LTS 中部署我的 laravel 應用程序。 所以我已經安裝了 nginx postgres php。 但是當我嘗試做php artisan migrate我有這個返回錯誤:

這是錯誤(comande line 的圖片)

所以我驗證了不同的事情:首先我可以使用 postgres 用戶訪問本地主機中的數據庫。 laravel 應用程序在不需要數據庫的情況下工作。

在 php.ini 我有取消注釋extention=pdo-pgsql; extention=pgsql

我已經使用這個命令安裝了 php postgres sql 擴展sudo apt-get install php7.2-pgsql

這是我在 laravel 中對數據庫的 .env 設置:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5433
DB_DATABASE=THERY //I have already create the database
DB_USERNAME=postgres
DB_PASSWORD=postgres

您的問題可能有不同的問題。 可能會發生以下任何情況:

  1. 未安裝 php PGsql。 安裝它
apt-get install php-pgsql
  1. 作曲家中缺少 PGsql 庫。 安裝它
composer require asmiarowski/laravel-postgres // There are multiple librariies available in packagist
  1. 您在 .env 中的配置不會被緩存。 您可以通過運行命令緩存它們
php artisan config:cache
  1. 您的 PGSql 服務器無法訪問。 您可以采取進一步措施來解決它們。

所以對於我的問題,他們有兩個解決方案加上一個獎金

  1. 如果問題來自 php 並且您不想重新安裝所有內容,則可以在此處詢問 ubuntu並使用這兩個命令:
sudo apt-get --purge remove php-common

sudo apt-get install php-common php-pgsql php-cli
  1. 如果你想用 postgresql 為 laravel 正確安裝 php,你可以使用這個命令:
#php install comande
sudo apt-get install php-fpm openssl php-common php-curl php-json php-mbstring php-xml php-zip php-pgsql

#make sure to uncomment extension=pdo_pgsql
sudo nano /etc/php/7.2/fpm/php.ini 

#restart fpm service to apply settings
sudo systemctl restar php7.2-fpm

最后,如果您有 [SQLSTATE 08006 錯誤],請檢查您的 laravel 應用程序中的 .env 文件中的端口是否對應於您服務器中偵聽的端口(對我來說,使用的端口是 5432 而不是 5433)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM