我刚刚在 CentOS 上安装了 php,但需要与 Apache 集成

我刚刚在 CentOS 上安装了 php,但需要与 Apache 集成

通过yum,rpm命令我得到了php53和其他53版本常见的pdo cli mysql pdo

我不知道我的 apache 是什么版本,也不知道如何将这个 php 集成到 apache 中。

[root@server1 httpd]# yum list installed | grep 'apache'

vzdummy-apache.noarch 1.0-1.swsoft 已安装

我使用的是 Apache 1.x 还是 2.x?我是否需要从源代码更新或编译 Apache,以在其中编译 PHP 模块?或者我可以使用 DSO 吗?构建和安装 Apache(支持 DSO)

我找到了我的配置文件,用于 apache 和 php,我可以执行哪个 php(它显示 /usr/bin/php),但我不确定是否使用了任何其他目录,或者 php.ini-recommended 在哪里??

啊,使用

php -r "phpinfo();" | grep Configuration

我看到我的 php.ini 位于 /etc/php.ini

另外,通过阅读 httpd.conf,我猜我在 1.2 上,有这样的文字

# See <URL:http://httpd.apache.org/docs/2.2/> for
// and I see this also - Including the php configuration files
Include conf.d/*.conf

我的 php.conf 中有AddHandler 指令。接下来我需要追踪引用的模块,以确认它们存在。

我还检查了我的日志(访问和错误),没有发现任何严重错误;似乎 Apache 会忽略对 .php 资源的任何请求。

欢迎提出建议;我肯定遗漏了一些愚蠢的东西。TIA,谢谢你的帮助。

答案1

在 centos rhel 等系统中,apache 通常被命名为 httpd 检查 yum 列表是否已安装 | grep 'httpd'

答案2

vzdummy-apache.noarch 1.0-1.swsoft 已安装

Apache 软件包名为httpd。我不知道这个 vzdummy 是什么。它不来自任何标准存储库。我建议您通过以下方式删除 httpd 和 php

yum -y remove httpd
yum -y remove php\*

然后从头开始重新安装:

yum install httpd
yum install php php-XXX php-YYY

其中包含您需要的 PHP 的 php-XXX 和 php-YYY 包。

执行

updatedb

然后执行

locate *.repo

查看您的 CentOS 上是否有任何第三方存储库。您应该看到如下输出:

/etc/yum.repos.d/CentOS-Base.repo
/etc/yum.repos.d/CentOS-Debuginfo.repo
/etc/yum.repos.d/CentOS-Media.repo
/etc/yum.repos.d/CentOS-Testing.repo
/etc/yum.repos.d/CentOS-Vault.repo

如果你有其他东西,新的存储库可能会与标准存储库发生冲突,从而阻止你的操作系统正常工作。你必须设置优先级适用于所有软件包。

答案3

非常感谢。通过 IRC 聊天 (#bind、#centOS) 的帮助,我发现我可能有一个用 openvz 创建的假 CentOS 版本

我确实使用 yum update (rpm) 将整个盒子更新到 CentOS 5.6,并且一切开始正常工作。

相关内容