通过 .htaccess 启用 PHP 短打开标签

Posted

技术标签:

【中文标题】通过 .htaccess 启用 PHP 短打开标签【英文标题】:Enable PHP short open tags via .htaccess 【发布时间】:2013-09-28 04:59:39 【问题描述】:

我目前正在浏览一个 CMS 系统的教程,不幸的是它使用了短开放标签。

我已经确认我的主机不会在他们的 php 配置中允许这些,但他们在 Apache 模式下运行 PHP(而不是 CGI)。据我所知,这应该允许我在 .htaccess 文件中将 short_open_tag 标志设置为 on

但是,这似乎不起作用。在根目录中,我创建了一个仅包含以下行的 .htaccess 文件,但仍会忽略短打开标记。

php_flag short_open_tag on

我做错了吗?如果没有,任何人都可以建议为什么它可能不起作用?谢谢。

注意:有人将此问题标记为正在其他地方回答。所确定的问题不仅没有公认的答案,而且基于 PHP 配置在 CGI 模式下运行,而不是 Apache 模式。

【问题讨论】:

如果您只是在教程的帮助下进行编码,那么当他们使用 <? 时,只需写 <?php - 或者您只是复制并粘贴整个教程? 我认为你应该在 .htaccess 文件中尝试php_value short_open_tag 1 我想你可以通过php_value short_open_tag 1来完成它 @SmokeyPHP - 本教程附带了一组文件,因此替换短标签很遗憾不是一个选项。 您应该尝试php_admin_flag short_open_tag 1,但您的提供商也可以禁用此功能。您应该使用自己的配置在 localhost 上尝试本教程。 【参考方案1】:

试试这个

 <IfModule mod_php5.c>
   php_value short_open_tag 1
 </IfModule>

这样就可以解决问题了

【讨论】:

是的,我相信大多数主机提供商都允许覆盖 php 配置。 从技术上讲,您应该使用php_flag 而不是php_value:secure.php.net/manual/en/configuration.changes.php。【参考方案2】:

对于.htaccess,它应该是php_value short_open_tag 1 对于 ini 文件,它是 short_open_tag=On

如果它在.htaccess 中不起作用,那么您可以尝试在您的站点根目录中添加您自己的php.ini。也就是说,它不太可能奏效。

简单地说,服务器管理员可能已经完全禁用了这个功能,无论你添加什么,你都无法激活它。最好问问你的主人,以免自己痛苦。

【讨论】:

以上是关于通过 .htaccess 启用 PHP 短打开标签的主要内容,如果未能解决你的问题,请参考以下文章

apache_conf 在htaccess中启用php错误登录

apache 2.2 (ubuntu) 不允许我通过.htaccess 设置php 错误报告?

在 .htaccess 中启用人类可读的 URL

通过在 .htaccess 中启用 gzip 来提高 magento 速度

apache_conf 通过启用gzip压缩来提高页面速度。在WordPress中添加到.htaccess

通过 .htaccess 在文件前添加指定标签