通过 .htaccess 启用 PHP 短标签

34

我目前正在学习一个CMS系统的教程,但不幸的是它使用了短标签。

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

然而,这似乎并没有起作用。在根目录下,我只创建了一个包含以下一行的.htaccess文件,但短标签仍然被忽略了。

php_flag short_open_tag on

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

注意:有人把这个问题标记为在别处被回答过。不仅那个问题没有被接受的答案,它还是基于在CGI模式下运行的PHP配置而不是Apache模式。


如果你只是在教程的帮助下编写代码,当他们使用<?时,只需写<?php - 或者你只是简单地复制粘贴整个教程吗? - MDEV
1
我认为你应该在 .htaccess 文件中尝试 php_value short_open_tag 1 - Dharmesh Patel
我认为你可以通过 php_value short_open_tag 1 来实现。 - Lan
你应该尝试使用 php_admin_flag short_open_tag 1,但这也可能被你的提供商禁用。你应该在本地主机上使用自己的配置尝试教程。 - Daniel W.
@DanFromGermany - 感谢您的建议,但是 php_admin_flag short_open_tag 1 会产生 内部服务器错误。谢谢。 - David Gard
显示剩余3条评论
2个回答

62

试试这个

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

这将解决问题。


是的,我相信大多数主机提供商允许覆盖php配置。 - geekdev
2
从技术上讲,您应该使用 php_flag 而不是 php_value:https://secure.php.net/manual/en/configuration.changes.php。 - Tyler Crompton

6
对于.htaccess文件,应该使用php_value short_open_tag 1。对于ini文件,使用short_open_tag=On
如果在.htaccess中无效,您可以尝试在站点根目录中添加自己的php.ini文件。但是,这种方法不太可能奏效。
简单来说,服务器管理员可能已经完全禁用了此功能,无论您添加什么内容,都无法激活它。最好向主机提供商询问并避免麻烦。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接