在 Centos 7 上安装 PHP 7.2

Posted

技术标签:

【中文标题】在 Centos 7 上安装 PHP 7.2【英文标题】:Install PHP 7.2 on Centos 7 【发布时间】:2019-06-22 14:34:33 【问题描述】:

我关注link 将我的 php 从 5.6 升级到 7.2 并成功安装

PHP 7.2.14 (cli) (built: Jan  8 2019 12:06:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

这里是我的 httpd

Server version: Apache/2.4.6 (CentOS)
Server built:   Nov  5 2018 01:47:09

在尝试 phpinfo() 之后,我得到了 apache 不起作用。 它产生php代码而不是编译。

我检查了我的 httpd.conf,没有用于 php7Module 的 LoadModule。所以我添加 LoadModule 如下

LoadModule php7_module modules/libphp7.so
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

并检查 libphp7.so 并猜猜看,模块目录中没有 libphp7.so

但是,我仍然想知道我错过了什么。我安装了以下依赖项

php72 php72-php-fpm php72-php-mysqlnd php72-php-opcache php72-php-xml php72-php-xmlrpc php72-php-gd php72-php-mbstring php72-php-json

附言。我跑CentOS Linux release 7.6.1810 (Core)

更新 1

getsebool -a | egrep 'cgi|builtin_scriptin'
httpd_builtin_scripting --> on
httpd_enable_cgi --> on

我认为 Apache 没有启用 PHP。 如何让它工作?

【问题讨论】:

我能找到的关于这个问题的所有内容都只指出了两件事:1)modules/libphp7.so 在从centos repos 安装 php 时似乎没有被创建/丢失(我发现至少 5 篇文章描述了相同的问题 CentOS,其中说明了)。 2)解决这个问题的最简单方法是在其他地方获取 libphp7.so。或者自己编译php。不幸的是,我无法验证这两个陈述中的任何一个。 @EugeneAnisiutkin 同意你的看法。我仍在寻找解决方法 能否提供以下命令的输出? yum list installed | grep php 【参考方案1】:

尝试重启/启动apache2

sudo systemctl restart httpd.service

如果问题仍然存在,那么

sudo systemctl status httpd.service

【讨论】:

正如我之前提到的,没有libphp7.so,所以你的解决方案不起作用。它会产生错误httpd: Syntax error on line 58 of /etc/httpd/conf/httpd.conf: Cannot load modules/libphp7.so into server: ...directory ***.com/questions/30126134/… 试试看我的httpd.conf 试过'a2enmod php7.2'或'a2enmod php7.2.4'然后重启httpd服务? a2enmod 是 debianism,在 CentOS 上您需要手动执行此操作。请参考 Apache 文档了解httpd.apache.org/docs/current/mod/mod_rewrite.html

以上是关于在 Centos 7 上安装 PHP 7.2的主要内容,如果未能解决你的问题,请参考以下文章

Centos 7.2下安装php7

centos 7.2编译安装7.1.4

Centos7编译安装nginx1.15+MariaDB10.3+php-7.2

在 CentOS 7.2 上安装 ODOO 10 (2018-10-04 持续更新)

CentOS 7.2下服务器配置(linux+apache+php+mysql)

如何在 CentOS 7.2 上使用 yum 安装 gcc 5.3?