pgsql 未加载(centOS 6.8)

pgsql 未加载(centOS 6.8)

*首先不要回答“php.ini >> 取消注释 extension=pgsql.so 并重新启动 httpd”。这样做了数百万次,并没有解决我的问题。

*尝试了包括 stackoverflow 在内的不同网站描述的数百种方法,但不幸的是,它们对我不起作用(我倾向于 Linux >> 菜鸟)

信息:httpd 2.2.15、php 5.6.26(remi-php56)、CentOS 6.8、postgresql 8.2.9

错误 1:

致命错误:在 /var/www/html/bancarella_dev/config.php 第 6 行中调用未定义的函数 mb_convert_encoding()

错误 1 ​​已通过以下方式解决:

yum install php-mbstring
service httpd restart

错误 2:

致命错误:在 /var/www/html/bancarella_dev/dbconnect.php 第 69 行中调用未定义的函数 pg_connect()

为了解决错误 2,我做了:

yum install php-pgsql
service httpd restart

但它并没有解决错误2

为了查看正在加载哪些扩展,我创建了一个测试文件“test.php”

代码:

$isPgsql =  extension_loaded('pgsql') ? 'yes':'no';

echo "pgsql loaded: {$isPgsql}" ;

print_r(get_loaded_extensions());

test.php 的输出:

pgsql loaded: no

Array
(
    [0] => Core
    [1] => date
    [2] => ereg
    [3] => libxml
    [4] => openssl
    [5] => pcre
    [6] => zlib
    [7] => filter
    [8] => hash
    [9] => Reflection
    [10] => SPL
    [11] => session
    [12] => standard
    [13] => apache2handler
    [14] => bz2
    [15] => calendar
    [16] => ctype
    [17] => curl
    [18] => mbstring
    [19] => fileinfo
    [20] => ftp
    [21] => gettext
    [22] => iconv
    [23] => exif
    [24] => PDO
    [25] => Phar
    [26] => sockets
    [27] => sqlite3
    [28] => tokenizer
    [29] => pdo_pgsql
    [30] => pdo_sqlite
    [31] => json
    [32] => zip
    [33] => mhash
)

因此,mbstring 已加载(这就是错误 1 ​​被解决的原因)。

从数组中可以看到 pdo_pgsql 也已加载,但 pgsql 尚未加载。

为什么?仍然得到:

调用未定义的函数 pg_connect()

请帮忙。

答案1

我更新了 PostgreSQL(按照@RemiCollet 的建议),一切运行正常。

yum install postgresql96*  
service postgresql-9.6 initdb  
chkconfig postgresql-9.6 on  
service postgresql-9.6 start  

相关内容