我(除其他事项外)管理一个较旧的 debian Lenny 服务器 - 现在需要将 PHP 从版本 5.2 更新到 5.3(我们目前安装了 5.2.26)。这是为了支持 5.2 不支持的某些功能,特别是 sqlite3。
我在互联网上找到了几个处理这个问题的网站,但它们似乎都已过时,它们引用的文件似乎已不存在。尝试更改即时指令并不容易 - 而且由于 php 版本不断更新,现在似乎需要许多其他库的较新版本,这变得更加困难。
我的情况更糟,因为服务器是一个实时生产网站,为世界各地的客户提供服务(澳大利亚、欧洲、北美),所以我没有晚上的时间来解决这个问题。我能做的最好的事情就是把它关掉一个小时进行升级,然后快速重新测试网站。我知道网站会使用新版本,因为开发服务器显然安装了较新的版本(我不管理那个版本)。
我希望尽可能避免从源代码编译 php。我记得不久前在另一台服务器上做过类似的事情。当时的版本是 5.3.10~dotdeb.0 - 但现在我再也找不到那个版本了。我下载了几乎满足我需求的 .deb 包(它们是版本 5.3.10~dotdeb.1)- 但它们无法安装,抱怨 libreadline6、libonig2 等依赖项未得到满足。对照另一台服务器检查,要求是 libreadlin5 - 因此看起来在从 5.3.10~dotdeb.0 升级到 5.3.10~dotdeb.1 时依赖项也升级了。
我现在陷入困境,因此非常感谢任何帮助。
答案1
好的,设法解决了这个问题。对于~dotdeb.0
版本,依赖项是其他软件包的旧版本,因此大多数东西都安装得很好。我不得不卸载php5-mhash
软件包,因为从 5.3 开始它不再受支持 - 而且我必须安装libsqlite0
并libsqlite3
让 php 与 sqlite 数据库很好地配合使用。这就是它的全部内容。