大约两年前,我尝试了第一次 PHP 编译并成功了。随着我添加模块和新版本发布,我偶尔会升级我的编译脚本。
但是,我发现 apt-get 无人值守升级会定期覆盖我的 PHP 安装。最后一次发生在昨晚,将我的安装从 5.5.1 降级到 5.3.10
这种情况很少发生,但在我意识到发生了什么之前,服务器仍然会崩溃。
我运行了 dpkg -l,发现即使我安装了 5.5.1,dpkg 版本仍然显示为 5.3.10。我推测这是因为我自己编译了 php5。我应该:
- 从 apt-get 中卸载 PHP 并阻止其将来安装
- 以不同的方式安装我的自定义编译版本,以便 dpkg 可以识别它?
- 继续并阻止 dpkg 允许 php 更新。
- 第四个选择尚未确定?
非常感谢您的帮助。
答案1
以不同的方式安装我的自定义编译版本,以便 dpkg 可以识别它?
最明智的解决方案是构建自己的 deb 包并使用 apt/dpkg 安装。这很容易,因为您只需获取 Ubuntu 源代码,orig.tar.gz
用自己的文件替换文件,检查 Ubuntu 应用的补丁,然后就可以了。唯一的缺点是您可以稍后随意卸载它(?)以及在弄清楚如何做事情时可能会发现的一些怪癖。在我看来,这是最推荐的。
(您还可以设置一个构建服务器,在每次更新 PHP 时构建它)
从 apt-get 中卸载 PHP 并阻止其将来安装
如果您使用这个,apt 不知道您已经安装了 php,并且每当您尝试安装依赖于 PHP 的东西时......好吧......
继续并阻止 dpkg 允许 php 更新。
这不合理。您安装了两个 php,只有上帝知道可能会出现哪些错误或安全漏洞。最好的情况是您的生产环境在安装了所有补丁和其他东西的情况下保持稳定。