通过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,并且一切开始正常工作。