Php

mod_php 沒有安裝在 CentOS 7 和 remi 的 php 5.4 上 - 有點混亂

  • May 8, 2020

我在 CentOS 7 上使用 httpd 進行了全新安裝,並按照remi 的嚮導安裝了 php 5.4 作為單一版本(我知道它很舊,但是我的要求的一部分!!)。

我的問題是 httpd 無法執行 php 腳本(簡單如phpinfo),就像這個問題中描述的那樣:PHP not working with Apache on Centos 7

除了那個問題,我覺得非常奇怪的事情是:

  • 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
  • 但同時,按照描述(remi-wizard)安裝了 php:
[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

我在這裡做錯了什麼還是錯過了什麼?

您已經安裝php-cliphp-common軟體包。這意味著您只安裝了 cli 版本。Cli(控制台)版本是您從 shell 使用 php 命令執行的版本。這些軟體包不提供 apache 模組,這就是您看不到它的原因。

雖然sudo yum install php(或過時的 mod_php,現在只是一個別名)為您提供安裝php包,其中包括共享的 apache 模組和配置。

因此,您的假設“(儘管我已安裝)”並不完全正確。只需執行sudo yum install php並接受它要安裝的所有軟體包,您就會沒事的。

引用自:https://serverfault.com/questions/1016351