Laravel部署:PHP错误无法加载动态库';pdo#U pgsql';

Laravel部署:PHP错误无法加载动态库';pdo#U pgsql';,php,laravel,postgresql,webserver,postgresql-10,Php,Laravel,Postgresql,Webserver,Postgresql 10,我想在ubuntu服务器18 LTS中部署我的laravel应用程序。所以我已经安装了nginxpostgresphp。但是,当我尝试执行php artisan migrate时,返回了以下错误: 所以我要验证不同的东西: 首先,我可以通过postgres用户访问localhost中的数据库。 laravel应用程序在不需要数据库的情况下工作 在php.ini中,我有uncommentextention=pdopgsql和extention=pgsql 我已经用这个命令安装了php post

我想在ubuntu服务器18 LTS中部署我的laravel应用程序。所以我已经安装了nginxpostgresphp。但是,当我尝试执行
php artisan migrate
时,返回了以下错误:

所以我要验证不同的东西: 首先,我可以通过postgres用户访问localhost中的数据库。 laravel应用程序在不需要数据库的情况下工作

在php.ini中,我有uncomment
extention=pdopgsql
extention=pgsql

我已经用这个命令安装了php postgres sql扩展
sudo apt get install php7.2-pgsql

这是laravel中数据库的my.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


您的问题可能有不同的问题。可能发生以下任何一种情况:

  • 未安装php PGsql。通过以下方式安装它:
  • 生成器中缺少PGsql库。通过以下方式安装它:
  • 未缓存.env中的配置。您可以通过运行命令来缓存它们
  • 无法访问您的PGSql server。您可以采取进一步的措施来解决这些问题

  • 您的问题可能有不同的问题。可能发生以下任何一种情况:

  • 未安装php PGsql。通过以下方式安装它:
  • 生成器中缺少PGsql库。通过以下方式安装它:
  • 未缓存.env中的配置。您可以通过运行命令来缓存它们
  • 无法访问您的PGSql server。您可以采取进一步的措施来解决这些问题

  • 所以对于我的问题,他们有两个解决方案加上一个奖金

  • 如果问题来自php,并且您不想重新安装所有的php,那么可以遵循此主题 并使用以下两个命令:
  • 如果您想使用postgresql正确安装php for laravel,可以使用以下命令:

  • 最后,如果出现[SQLSTATE 08006错误],请检查laravel应用程序中.env文件中的端口是否与服务器中侦听的端口相对应(从我看来,使用的端口是5432,而不是5433)

    因此,对于我的问题,他们有两个解决方案和一个额外的解决方案

  • 如果问题来自php,并且您不想重新安装所有的php,那么可以遵循此主题 并使用以下两个命令:
  • 如果您想使用postgresql正确安装php for laravel,可以使用以下命令:


  • 最后,如果出现[SQLSTATE 08006错误],请检查laravel应用程序中.env文件中的端口是否与服务器中侦听的端口相对应(从我的表格来看,使用的端口是5432,而不是5433)

    尝试重新启动服务器或实例。我刚刚尝试重新启动相同的错误数据库托管在哪里?在与web服务器相同的计算机上尝试
    DB\u HOST=localhost
    而不是.env中的
    DB\u HOST=127.0.0.1
    。尝试重新启动服务器或实例。我刚刚尝试重新启动相同的错误数据库是托管的吗?在与web服务器相同的计算机上,请尝试在.env.linux中使用
    DB_HOST=localhost
    而不是
    DB_HOST=127.0.0.1
    。没有找到php7.3-pgsql。如果我使用7.2,它可以工作吗?根据安装的php版本,您可以安装“php pgsql”或“php7.2-pgsql(如果您的php版本是7.2)”,以使用系统可靠的pgsql。答案是出于表示的目的。@MrSolarius您在CLI和Web服务器(Apache)上的PHP版本是什么?这些版本不起作用我有一个返回错误
    无法加载动态库“pdo_pgsql”(尝试过:/usr/lib/PHP/20170718/pdo_pgsql(/usr/llb/PHP/20170718/pdo_pg/usr/lib/PHP/20170718/pdo_pgsql.so:未定义的符号:pdo parse_参数))在未知在线o PHP警告:模块“pgsql”已在未知在线0加载
    apt get install PHP pgsql
    应解决此问题。你能粘贴phpinfo()页面的快照吗?linux找不到php7.3-pgsql如果我使用7.2它可以工作吗?你可以安装“php pgsql”或“php7.2-pgsql(如果你的php版本是7.2)”,根据安装的php版本使用系统可靠的pgsql。答案是出于表示的目的。@MrSolarius您在CLI和Web服务器(Apache)上的PHP版本是什么?这些版本不起作用我有一个返回错误
    无法加载动态库“pdo_pgsql”(尝试过:/usr/lib/PHP/20170718/pdo_pgsql(/usr/llb/PHP/20170718/pdo_pg/usr/lib/PHP/20170718/pdo_pgsql.so:未定义的符号:pdo parse_参数))在未知在线o PHP警告:模块“pgsql”已在未知在线0加载
    apt get install PHP pgsql
    应解决此问题。能否粘贴phpinfo()页的快照?
    apt-get install php-pgsql
    
    composer require asmiarowski/laravel-postgres // There are multiple librariies available in packagist
    
    php artisan config:cache
    
    sudo apt-get --purge remove php-common
    
    sudo apt-get install php-common php-pgsql php-cli
    
    #php install comande
    sudo apt-get insatall 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