国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php pdo_pgsql 文件存在但無法識別
P粉191610580
P粉191610580 2024-03-21 19:39:49
0
1
706

在 Ubuntu(20.4?)上運行 DigitalOcean Droplet

我的用戶A具有root權(quán)限。它們還連接到 postgres 數(shù)據(jù)庫中的 userA。

由于我正在使用的軟件的設置,它們需要 postgresdb 的特定用戶名。為了避免在網(wǎng)上暴露太多數(shù)據(jù),我們將其稱為 userB。這既是 linux 又是 postgres 用戶。

我正在運行一個 php 命令,該命令基本上采用(uname、dbname、pdo、選項)作為輸入,但它當前失敗,因為它無法找到 pdo 文件。

我瀏覽了一些帖子。有人建議取消所有 php.ini 文件中所有 pgsql 和 pdo_pgsql 行的注釋,我已經(jīng)這樣做了,無論是用于生產(chǎn)、開發(fā)還是該文件的通用版本。

當我以 userA 和 userB 身份運行命令時,出現(xiàn)此錯誤。

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_pgsql' (tried: /usr/lib/php/20190902/pdo_pgsql (/usr/lib/php/20190902/pdo_pgsql: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/pdo_pgsql.so (/usr/lib/php/20190902/pdo_pgsql.so: undefined symbol: pdo_parse_params)) in Unknown on line 0

但是,pdo_pgsql.so 實際上確實存在于該位置。 (它是否正在尋找名為 pdo_pgsql 的文件,而是尋找 pdo_pgsql.so?)

php 網(wǎng)站說要運行一個

./configure

命令,但它并沒有真正說明configure位于哪個文件夾中。它不是我可以從cli安裝的包。 (https://www.php.net/manual/en/ref.pdo-pgsql.php)

其他頁面說您必須先安裝autoconf(https://unix.stackexchange.com/questions/158960/can-not-run-configure-command-no-such-file-or-directory),但是這有沒有制作。/為我配置一個可用的命令。

我還發(fā)現(xiàn)一篇文章說需要更新 apache 中的 conf 文件以顯示 PDO 文件的位置,但是我還沒有運行服務器,我只是運行一個填充的 php 文件本地 pgsql 數(shù)據(jù)庫。 (pgsql 擴展未加載)

正在運行

php -i | grep PDO

給出

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_pgsql' (tried: /usr/lib/php/20190902/pdo_pgsql (/usr/lib/php/20190902/pdo_pgsql: cannot open shared object file: No such file or directory), /usr/lib/php/20190902/pdo_pgsql.so (/usr/lib/php/20190902/pdo_pgsql.so: undefined symbol: pdo_parse_params)) in Unknown on line 0
PDO
PDO support => enabled
PDO drivers => pgsql
PDO Driver for PostgreSQL => enabled

盡管根據(jù) API 的客戶服務,它應該返回

PDO
PDO support => enabled
PDO drivers => mysql, odbc, pgsql
PDO Driver for MySQL => enabled
PDO Driver for ODBC (unixODBC) => enabled
PDO Driver for PostgreSQL => enabled

盡管我認為他們根據(jù)您選擇的數(shù)據(jù)庫軟件給出了不同驅(qū)動程序的多個示例。

我不太確定該怎么做。

更新:

我嘗試通過編輯 php 使用的 php.ini 文件

php -i | grep ini

我用過

locate pdo_pgsql

查找 pdo_pgsql 和 pdo_pgsql.so 文件路徑。我已嘗試對 php.ini 文件進行 4 種不同的編輯。 2 取消注釋(一次一個)默認的 pgsql 擴展。 2 是通過locate 在我的系統(tǒng)上找到的pdo_pgsql 文件的不同文件路徑。

**extension=/usr/lib/php/20190902/pdo_pgsql.so**

sudo php file.php

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20190902/pdo_pgsql.so' (tried: /usr/lib/php/20190902/pdo_pgsql.so (/usr/lib/php/20190902/pdo_pgsql.so: **undefined symbol: pdo_parse_params**), /usr/lib/php/20190902//usr/lib/php/20190902/pdo_pgsql.so.so (/usr/lib/php/20190902//usr/lib/php/20190902/pdo_pgsql.so.so: **cannot open shared object file: No such file or directory**)) in Unknown on line 0

**extension=/var/lib/php/modules/7.4/registry/pdo_pgsql**

sudo php file.php

PHP Warning:  PHP Startup: Unable to load dynamic library '/var/lib/php/modules/7.4/registry/pdo_pgsql' (tried: /var/lib/php/modules/7.4/registry/pdo_pgsql (/var/lib/php/modules/7.4/registry/pdo_pgsql: **file too short**), /usr/lib/php/20190902//var/lib/php/modules/7.4/registry/pdo_pgsql.so (/usr/lib/php/20190902//var/lib/php/modules/7.4/registry/pdo_pgsql.so: **cannot open shared object file: No such file or directory)**) in Unknown on line 0
Could not open input file: file.php

**extension=pgsql**

sudo php file.php

**PHP Warning:  Module 'pgsql' already loaded in Unknown on line 0**
Could not open input file: file.php

**extension=pdo_pgsql**

sudo php file.php

PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_pgsql' (tried: /usr/lib/php/20190902/pdo_pgsql (/usr/lib/php/20190902/pdo_pgsql: **cannot open shared object file: No such file or directory**), /usr/lib/php/20190902/pdo_pgsql.so (/usr/lib/php/20190902/pdo_pgsql.so: **undefined symbol: pdo_parse_params**)) in Unknown on line 0
Could not open input file: file.php

按照下面用戶的要求輸出

$ php -v
PHP 7.4.3 (cli) (built: Mar  2 2022 15:36:52) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

$ dpkg -l|grep pgsql
ii  php-pgsql                       2:7.4+75                           all          PostgreSQL module for PHP [default]
ii  php7.4-pgsql                    7.4.3-4ubuntu2.10                  amd64        PostgreSQL module for PHP

$ dpkg -l|grep php
ii  php-common                      2:75                               all          Common files for PHP packages
ii  php-pgsql                       2:7.4+75                           all          PostgreSQL module for PHP [default]
ii  php7.4-cli                      7.4.3-4ubuntu2.10                  amd64        command-line interpreter for the PHP scripting language
ii  php7.4-common                   7.4.3-4ubuntu2.10                  amd64        documentation, examples and common module for PHP
ii  php7.4-json                     7.4.3-4ubuntu2.10                  amd64        JSON module for PHP
ii  php7.4-opcache                  7.4.3-4ubuntu2.10                  amd64        Zend OpCache module for PHP
ii  php7.4-pgsql                    7.4.3-4ubuntu2.10                  amd64        PostgreSQL module for PHP
ii  php7.4-readline                 7.4.3-4ubuntu2.10                  amd64

P粉191610580
P粉191610580

全部回復(1)
P粉463824410

如果某些東西在您的 DEV enc 上不起作用,請不要在 PROD 上嘗試它..這違背了擁有 DEV env 的目的..

php.ini 中,您應該已經(jīng)有一個有關(guān)如何啟用 pgsql 的示例:

extension=pdo_pgsql

不是module=

我不知道您的 PHP 版本是什么,但請確保您安裝了適當版本的 php7.X-pgsql,因為您的庫版本似乎錯誤。

您也許可以在問題中添加以下輸出:

dpkg -l|grep pgsql
dpkg -l|grep php
php -v
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板