Ubuntu Server 14.04 Apache 显示 PHP 源代码而不是解析?

Ubuntu Server 14.04 Apache 显示 PHP 源代码而不是解析?

我正在运行 Apache 2.4.23、MySQL 5.1.73 和 PHP 7.0.10

当我在浏览器中使用 Apache 调用我的 index.php 时,它显示了 .php 的源代码,而不是它的内容应该显示(代码结果)。

我相信这是由于我的 httpd.conf 中缺少相关的 .php 模块,但是我的 Google-Fu 没有给我任何帮助。

我的程序安装目录:

阿帕奇:/home/alexander/myPrograms/apache

MySQL的:/home/alexander/myPrograms/MySQL

PHP的:/home/alexander/myPrograms/PHP

一切都是从源代码编译的,而不是 apt-get install(我有理由,我发誓!),所以我的目录可能与平常有点不同。

有没有什么想法/指示可以让 PHP 7 为我工作?

答案1

您必须为 PHP 扩展设置处理程序。在 Ubuntu 中,这是通过添加具有相关配置文件的各个组件的模块来完成的。Ubunt 16.04 的 php 配置模块如下所示:

<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".+\.phps$">
    SetHandler application/x-httpd-php-source
    # Deny access to raw php sources by default                                                                               
    # To re-enable it's recommended to enable access to the files                                                             
    # only in specific virtual host or directory                                                                              
    Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')                                                                         
<FilesMatch "^\.ph(p[3457]?|t|tml|ps)$">
    Require all denied
</FilesMatch>

# Running PHP scripts in user directories is disabled by default                                                              
#                                                                                                                             
# To re-enable PHP in user directories comment the following lines                                                            
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it                                                             
# prevents .htaccess files from disabling it.                                                                                 
<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

其中一条主要配置行是:

SetHandler application/x-httpd-php

相关内容