我search了高和低,并没有发现任何东西。 也许我不知道要search什么。
环境是Ubuntu的Lucid(10.4)与PHP 5.2.4和PostgreSQL 9.2。
PHP是“持有”在5.2.4与dpkg --set-selections 。 我只能findphp5-pgsql的5.2.6版本,当我尝试使用dpkg进行安装时,它抱怨PHP是5.2.4。
试用aptitude install php5-pgsql运行aptitude install php5-pgsql告诉我它要升级到PHP 5.3。
编辑:升级PHP目前不是一个选项。
我应该补充:我尝试使用--with-pgsql --with-pdo-pgsql从源代码构buildPHP 5.2.4。 没有得到任何扩展。 libpq和libpq-dev都已安装。
这似乎是诀窍:
cd php_x.xx/ext/pgsql phpize ./configure make sudo make install extension=pgsql.so和任何必要的其他pgsql指令。 首先要做的是:如果你正在谈论一个生产系统,而你不是系统pipe理员( 你的评论表明你不是 ), 那么不要碰系统 。
如果你select忽略这个build议,并且不经意间破坏了你的系统pipe理员,他可能会在你回来的时候给你造成严重的身体伤害( 这样做完全有理由 – 没有什么比通过休假回来发现某人通过尝试除了可能在度假期间接到紧急电话以外“帮助”)。
所有这一切,如果你想这样做手动你必须确定什么是由php5-pgsql包安装(除了PHP编译与Postgres的支持,它还包括pgsql的PDO扩展 ,可能还有其他的东西)。 然后你需要手动安装所有的部分。
不能保证你将能够组装这个难题:例如,PECL(你可以得到PDO扩展)只在支持的PHP版本上进行testing。 它可能会工作,但如果解决scheme不是“将PHP升级到受支持版本”。
回应其他人在评论中所说的话:
将系统locking到特定版本的PHP是不好的。
如果你有一个需要PHP 5.2的系统(很久以来不被支持,而且已经存在已知的安全漏洞),现在是时候和你的系统pipe理员一起坐下来,写一份备忘录给你上面的两级pipe理层。 (如果你的系统pipe理员不明白为什么这是一个问题, 你写备忘录和抄送他。)
将系统locking到特定的PHP补丁级别是疯狂的 。
如果你有一个绝对需要 PHP 5.2.4的系统,你应该已经写了一个关于它的备忘录,并且在每个人面前尖叫,这是不可持续的,将来会造成重大的问题。
如果你已经写了这个备忘录,这是你看起来有先见之明,并说:“记得备忘录? – 否则,你现在写(这看起来不太好,但至less表明你正在做你的工作,并指出业务严重的风险)。