如何通过 apache 渲染 .phtml 文件

Posted

技术标签:

【中文标题】如何通过 apache 渲染 .phtml 文件【英文标题】:How to render a .phtml file through apache 【发布时间】:2012-05-08 12:10:13 【问题描述】:

我想通过 Apache 渲染一个 .phtml 文件,但是当我尝试时,它会将页面渲染为文本而不是 html。

在我的 vhost 配置中,如果我尝试渲染 index.php,它会正确执行。但是当我将 DirectoryIndex 更改为 index.phtml 并尝试呈现公共目录中的 index.phtml 时,它只会呈现文本。

虚拟主机配置为: code 服务器名称 parminder.com DocumentRoot "C:/workspace/parminder_local_net/public" 错误日志日志/parmindercom.log 选项索引 FollowSymLinks 允许覆盖所有 命令允许,拒绝 允许所有人 目录索引 index.phtml *

我还需要配置什么才能使其正常工作?我需要使用 .htaccess 吗? 基本概念是什么?

【问题讨论】:

【参考方案1】:

htaccess 文件 根文件夹 --> 文件夹 -->html 页面和子文件夹

尝试添加它:

AddHandler php-script .php .php5 .php4 .php3 .html .htm .phtml

【讨论】:

应该是“AddHandler application/x-httpd-php .php .php5 .php4 .php3 .html .htm .phtml”。处理程序不是 php-script。【参考方案2】:

您需要配置 Apache,以便它知道您希望将 .phtml 文件视为 PHP。请参阅the PHP install guide 的第 8 步。

<FilesMatch "\.ph(p[2-6]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

...但是 .phtml 是用于 PHP 2 的文件扩展名。您可能应该审核它们,将它们带入现代 PHP 编码实践并重命名它们以遵循当前约定。

【讨论】:

谢谢,它通过在我的 .htaccess 文件中设置上述指令来工作。另外,在 httpd.conf 我有:codeAddType application/x-httpd-php .php 你在 .htaccess 文件中写了什么? 我在 .phtml extensions 上的另一个问题上看到了您的类似回答,并询问了我的同事。显然 Zend Framework 中的视图适用于这个扩展,它也在他们的文档中。【参考方案3】:

安装apache服务器后,需要说明apache解析器会读取哪些文件,

这是通过提及文件类型来完成的。 喜欢

**

> <FilesMatch \.php$>
>     SetHandler application/x-httpd-php </FilesMatch>

**

为了允许 .php、.php2、.php3、.php4、.php5、.php6 和 .phtml 文件作为 PHP 执行,请使用以下一个

<FilesMatch "\.ph(p[2-6]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

【讨论】:

以上是关于如何通过 apache 渲染 .phtml 文件的主要内容,如果未能解决你的问题,请参考以下文章

ZF2:如何从其他模块渲染视图

i春秋——“百度杯”CTF比赛 九月场——123(Apache解析pht,phtml,php3等 php别名)

Magento 2 - 如何在另一个 phtml 文件、xml 布局、静态块和 cms 页面中调用自定义 phtml 文件?

如何在 SonarQube 中扫描 phtml 和嵌入的 javascript 文件?

Magento 1.9启用从管理面板禁用模块

Apache-完成目录列表的动态渲染