php中的短标签 太坑人了

今天配置了一个php页面去修改svn密码问题,结果调了半天,最后在Windows和 Linux的运行现象是不一样,运行结果更不一样了,关键是完全一模一样的代码。

 

最后发现是短标签引起的,Windows环境中短标签默认是打开的,Linux下 默认是关闭的。

 

控制参数: short_open_tag = On 如果设置为Off,则不能正常解析类似于这样形式的php文件: phpinfo() ?> 而只能解析 <?php phpinfo() ?> 这样形式的php文件 所以要想php支持短标签,需要我们把short_open_tag 设置为On.
 
<?php  这是完整标签
<?  这是短标签

 

//php.ini中
short_open_tag = On

//除<?php ?>,可使用更灵活的调用方法
<? /*程序操作*/ ?>
<?=/*函数*/?>

  

 php4种常见风格标签写法

<?php
    echo “1111111111111 <br>”; 
?>
 
<?
    echo “222222222222 <br>”;
?>


<%
     echo“333333333333 <br>”;
%>


(注释:这种写法在php配置中默认关闭了的,所以不能输出一行3.如果要正常输出,需要配置php.ini文件。在配置文件中找到asp_tags=off ,将off改为on。改动配置文件后需要重启apache。)
 
<script language=”php”>
     echo“444444444444 <br></script>

 

以上四种标签的区别:

第一种属于XML风格,当php代码需要嵌入XML文件中时需要使用这种形式的标签。第一种风格标签在配置文件中是不能被禁止的,其他的可以设置禁止或开启。第二种当嵌入在XML文件中时它会干扰XML文档声明,所以要禁止使用。第三种是asp.net的习惯写法,第四种是JS、VBscript等脚本程序员喜欢的风格。一般出租的服务器,后三种风格标签都是被禁止的,所以写成后三种形式的可能导致php无法动态输出。所以,建议最好使用第一种风格标签。

posted @ 2016-09-26 20:50  dongguol  阅读(13444)  评论(0编辑  收藏  举报