繁体   English   中英

pgsql.so未在PHP中加载

[英]pgsql.so is not loaded in PHP

我的任务是创建一个访问现有PostgreSQL数据库的PHP应用程序。 这是我第一次使用Postgre,更不用说PHP已经安装在应该运行应用程序的Linux机器中。 我没有设置这些东西的经验,我只是编码。

我的问题是我似乎无法使用PHP进行Postgre扩展。 我检查了php.ini文件,没有“extension = ...”行。 所以我添加了“extension = pgsql.so”。 然后我检查了“extension_dir”,发现那里只有2个文件(ldap.so,phpcups.so),我添加了一个从另一个Linux盒子中取出的pgsql.so文件。 我重启了httpd。 它不起作用。 我在phpinfo()中找不到任何“pgsql”或“postgre”。

原谅我的无知。 我知道Linux太少了。 如果你能指出我正确的方向,我将非常感激。


我使用了number5给出的建议:

伙计,我在RedHat上。 我使用了你给出的命令的“yum”版本,我得到了这个:

[root @ perseus~] #yum install php-pgsql加载“installonlyn”插件设置安装过程设置存储库无法检索镜像列表http://mirrorlist.centos.org/?release=5&arch=x86_64&repo=extras错误是[Errno 4] IOError:错误:无法为repo:extras找到有效的baseurl


不幸的是,我正在使用的Linux服务器没有连接到Internet。 还有其他安装方法吗?

这取决于您使用的是哪个Linux发行版。

如果您使用的是Ubuntu / Debian,则需要:

sudo apt-get install php5-pgsql

Fedora的/ CentOS的

yum install php-pgsql

通常你可以找到你所在的发行版:

ls /etc/*-release

在CentOS扩展上,在/etc/php.d中为每个php扩展创建一个单独的* .ini文件

所以,不要改变main * .ini文件,而是创建/etc/php.d/pgsql.ini并添加一行

extension=pgsql.so

然后你需要重启Apache

service httpd restart

但最好的自动化方式就是打字

yum install php-pgsql

在您的情况下由于yum配置中的一些问题而无效。 转到/etc/yum-repos.d类型

nano /etc/yum.repos.d/CentOS-Base.repo

向下滚动到[extras]部分并确保它是这样的:

#additional packages that may be useful
[extras]
priority=1
name=CentOS-$releasever - Extras
=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

如果需要,请更正它,保存文件(Ctrl-X)并执行以下操作:

yum clean all
yum upgrade

然后尝试重复

yum install php-pgsql
  • 删除您从其他计算机复​​制的.so文件(虽然它可能有效,但不需要承担风险)
  • 使用发行版的包管理器安装php_pgsql / php5_pqsql模块
  • 重启apache并重试。 也许该模块已自动添加到.ini文件中
  • 如果没有,运行<?php echo 'ini: ', get_cfg_var('cfg_file_path'); 看看你要编辑哪个php.ini
  • 编辑这个ini文件
  • 重启apache

我的操作系统Linux薄荷kde和同样的问题

pg_connect()

如果您使用的是php5.6,则必须安装

sudo apt-get install php5.6-pgsql

必须在“php.ini”文件中更改扩展名后。

;extension=php_pgsql.dll

'dll'到'so'

例如

extension=php_pgsql.so

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM