PHP 无法在 Apache2 上解析 - CentOS 7

rvi*_*ino 5 php linux apache configuration centos7

我花了几天时间尝试在我的服务器上启用 php。Web 服务器已启动,但 php 未解析。

  1. 首先要做的事情是:服务器是运行 apache2 和 php 7 的 CentOS 7。一切似乎都已正确安装:

    操作系统:uname -a

    Linux rafiki 3.10.0-327.10.1.el7.x86_64 #1 SMP Tue Feb 16 17:03:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    
    Run Code Online (Sandbox Code Playgroud)

    和 :cat /etc/redhat-release

    CentOS Linux release 7.2.1511 (Core)
    
    Run Code Online (Sandbox Code Playgroud)

    阿帕奇:httpd -v

    Server version: Apache/2.4.6 (CentOS)
    Server built:   Jul 18 2016 15:30:14
    
    Run Code Online (Sandbox Code Playgroud)

    PHP:php -v

    PHP 7.0.10 (cli) (built: Aug 20 2016 07:47:25) ( NTS )
    Copyright (c) 1997-2016 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
        with Zend OPcache v7.0.10, Copyright (c) 1999-2016, by Zend Technologies
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后,里面/etc/httpd/conf/httpd.conf有这样一行:

    Include conf.modules.d/*.conf
    
    Run Code Online (Sandbox Code Playgroud)

    并在/etc/httpd/conf.modules.d/

    10-php.conf  00-base.conf  00-dav.conf  00-lua.conf  00-mpm.conf  00-proxy.conf  00-systemd.conf  01-cgi.conf
    
    Run Code Online (Sandbox Code Playgroud)

    10-php.conf内容:

    <IfModule prefork.c>
        LoadModule php7_module modules/libphp7.so
    </IfModule>
    
    <IfModule !prefork.c>
       LoadModule php7_module modules/libphp7-zts.so
    </IfModule>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 这是输出ls /etc/httpd/modules/ | grep php

    libphp7.so
    libphp7-zts.so
    
    Run Code Online (Sandbox Code Playgroud)
  4. 在/var/www/下有一个test.php文件,内容为:

    <?php phpinfo(); ?>
    
    Run Code Online (Sandbox Code Playgroud)

    当我尝试http://[myserver.domain]/test.php时,apache 提供原始文件,而不解析 php 代码。

我进行了很多研究,包括 StackOverflow,但没有一个结果适合我。

有人可以帮我让 php 正常运行吗?我做错了什么吗?

解决方案:

正如@kyshel 所指出的,简单的重新启动就起作用了。

Sri*_*nth 3

尝试重新启动服务器(正如其他人已经建议的那样)。这对我有用。