我有 PHP 5.2 和 Gentoo 基础系统版本 1.6.14
我发起了:emerge dev-php5/pecl-apc
但它失败了:
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking APC-3.0.16.tgz ;-) ... [ ok ]
*
* ERROR: dev-php5/pecl-apc-3.0.16-r1 failed.
* Call stack:
[call stack]
die "Unable to find an installed dev-lang/php package"
谢谢
请注意,OVH 已将 Gentoo 预装到此专用服务器上。除了 emerge 之外,是否还有其他 cmd?
答案1
无法找到已安装的 dev-lang/php 包”
嗯... 我觉得你需要安装一个依赖项。也许就是那条消息中列出的那个。我不知道 emerge 命令是否应该为你完成这个任务(我自己从未使用过)但无论如何,它似乎缺失了。
答案2
如果你确实安装了可以正常运行的 PHP,那么可以通过在 Portage 中添加适当的行来告知你已安装了该 PHP:
/etc/portage/package.provided
了解更多信息。
正如理查德·凯勒所说:
这不是一件容易的事,因为如果从源代码安装,就没有快速简便的方法找到要删除的所有必需文件
如果您确实想摆脱现有的 Apache / PHP 安装,并且仍然拥有安装它的源,则首先需要停止 Apache,然后 cd 到源目录,并输入:make uninstall
然后您可以通过 Portage 安装 Apache 和 PHP。
答案3
这看起来像是从源代码而不是使用 Portage 安装软件包的典型问题(这是安装软件包的正确方法 - 您永远不应该直接从源代码安装)。您应该首先检查 Portage 是否有任何通过它安装 PHP 和 Apache 的记录。
eix www-servers/apache
eix dev-lang/php
如果通过 Portage 而不是从源代码安装,这两个包都应该返回一个列出“已安装版本”版本的记录。
如果 Portage 没有记录,我建议找到某种方法来删除现有的 Apache 和 PHP 安装。这并非易事,因为如果从源代码安装,则没有快速简便的方法找到要删除的所有必需文件。只需找到主二进制文件和常规配置文件并尝试删除它们可能比较安全。删除现有安装后,通过 Portage 安装 PHP 和 Apache,如下所示:
emerge -av www-servers/apache
emerge -av dev-lang/php
看这个现有的问题有关安装具有 APC 支持的 Apache 和 PHP 的完整说明。