Php
mod_php 沒有安裝在 CentOS 7 和 remi 的 php 5.4 上 - 有點混亂
我在 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-cli
了php-common
軟體包。這意味著您只安裝了 cli 版本。Cli(控制台)版本是您從 shell 使用 php 命令執行的版本。這些軟體包不提供 apache 模組,這就是您看不到它的原因。雖然
sudo yum install php
(或過時的 mod_php,現在只是一個別名)為您提供安裝php
包,其中包括共享的 apache 模組和配置。因此,您的假設“(儘管我已安裝)”並不完全正確。只需執行
sudo yum install php
並接受它要安裝的所有軟體包,您就會沒事的。