Apache 显示 PHP 代码 - 在 Mac 上升级到 macOS Sierra 后

And*_*ndy 4 php

我使用的是刚刚更新到 macOS Sierra 的 iMac。在此之前,它正在运行 El Capitan。

在我的 El Capitan 设置下,我按照本指南配置了 Apache、PHP 和 MySQL 。这没有任何问题。

当我更新到 Sierra 时,它覆盖了大量配置文件。所以我回顾了指南并像在 El Capitan 下一样配置了所有内容。

http://localhost正在按我的预期工作,我可以在我的 webroot 中看到文件。但是,如果我打开一个 PHP 页面,它只会显示原始 PHP 代码而不是执行它。

我正在使用以下内容:

阿帕奇

  • 服务器版本:Apache/2.4.23 (Unix)
  • 服务器建成时间:2016 年 8 月 8 日 16:31:34

PHP

  • PHP 7.0.10 (cli)(构建时间:2016 年 8 月 31 日 10:25:51)(NTS)

苹果系统

  • 塞拉利昂 10.12

pie*_*rop 17

Sierra 附带 PHP 5,而不是 PHP 7。无论如何,检查模块是否已加载httpd.conf

LoadModule php5_module libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,可能您没有告诉 Apache 将 *.php 文件识别为 php 可执行文件。为此,请找到并编辑httpd.conf并添加以下行(如果尚未存在):

<FilesMatch .php$>
    SetHandler application/x-httpd-php
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

并编辑DirectoryIndex参数:

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
Run Code Online (Sandbox Code Playgroud)

另一个常见的解决方案是激活短的开放标签(如果您的 PHP 代码中有任何标签)。定位php.ini、搜索字符串short_open_tag = Off并将其更改为short_open_tag = On.

重新启动阿帕奇。