使用 remi 的 php 5.4 的 CentOS 7 上未安装 mod_php - 有点混乱

使用 remi 的 php 5.4 的 CentOS 7 上未安装 mod_php - 有点混乱

我在 CentOS 7 上进行了全新安装,安装了 httpd 并遵循雷米的巫师我安装了 php 5.4 作为单一版本(我知道它很旧,但这是我的要求的一部分!!)。
我的问题是 httpd 无法运行 php 脚本(简单如phpinfo),正如此问题所述:PHP 无法在 Centos 7 上与 Apache 配合使用
除了这个问题之外,我发现非常奇怪的事情是:

  • httpd 中没有 php 模块:

httpd -M | grep php什么都没显示!!应该有php5_module,还是没有?

  • httpd 中没有 php.conf 文件:
[user@pc ~]]$ ls -l /etc/httpd/conf.d/
total 16
-rw-r--r--. 1 root root 2926 Apr  2 16:13 autoindex.conf
-rw-r--r--. 1 root root  366 Apr  2 16:14 README
-rw-r--r--. 1 root root 1252 Nov 27 17:58 userdir.conf
-rw-r--r--. 1 root root  824 Nov 27 17:58 welcome.conf
  • 但同时,php 的安装方式与描述一致(remi-wizard):
[user@pc ~]$ php --version
PHP 5.4.45 (cli) (built: Oct 22 2019 13:26:02)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
  • php 包在那里(显然只有我安装的那些):
[user@pc ~]$ rpm -qa 'php*' | sort
php-cli-5.4.45-18.el7.remi.x86_64
php-common-5.4.45-18.el7.remi.x86_64

我发现了类似的问题这里提供的解决方案是安装mod_php。听起来是对的...但我的另一个问题来了:尝试安装时yum install mod_php系统提示我安装 php(虽然我已经安装了)!!

sudo yum install mod_php
...
--> Running transaction check
---> Package php.x86_64 0:5.4.45-18.el7.remi will be installed
--> Finished Dependency Resolution

(与……相同)

sudo yum install php
...
--> Running transaction check
---> Package php.x86_64 0:5.4.45-18.el7.remi will be installed
--> Finished Dependency Resolution

我在这里做错了什么或者遗漏了什么吗?

答案1

您已安装php-cliphp-common软件包。这意味着您只安装了 cli 版本。cli(控制台)版本是您从 shell 使用 php 命令运行的版本。这些软件包不提供 apache 模块,这就是您看不到它的原因。

sudo yum install php(或过时的 mod_php,现在仅仅是一个别名)则提供给您安装php包,其中包括共享的 apache 模块和配置。

因此,您的假设“(尽管我已经安装了它)”并不完全正确。只需执行sudo yum install php并接受它要安装的所有软件包,您就没问题了。

相关内容