<?php
if($a){
echo 'a';
}else{
echo 'b';
}
echo 'c';
?>
以上就我个人的理解,会输出bc
然后我在本地(apache+php)测试 也确实是输出bc
但是在服务端(iis+php)测试 却是 什么都不输出 也不报错,也不输出
这是为什么呢?
是apache和iis的差异  还是 php里面有什么配置项?

解决方案 »

  1.   

    你本地是 E_ALL ^ E_NOTICE
    服务器是 E_ALL

    服务器 display_errors = Off于是有错 if($a){ $a 未定义
    时,无法输出错误信息,把 php 憋死了
      

  2.   

    不是  display_errors   和  error_reporting  的 各种组合 我都试过了  就是不行
    最多是在  服务器端本地 能看到 个 警告 变量未定义 但是还是不输出  远程连服务端无论什么都是 连个警告都没有 什么都不显示
    退一步 说 就算 是产生 未定义警告 也应该继续执行啊 怎么会被强制终止?
      

  3.   

    什么叫做 我必以为然啊?
    我是一个个实验的  好吗  
    先 display_error=off   然后一个个匹配   error_reporting=e_all,error_reporting=E_ALL & ~E_NOTICE
    接着 display_error=on  然后一个个匹配   error_reporting=e_all,error_reporting=E_ALL & ~E_NOTICE
    四种组合 都不能正常 执行 这叫做 我必以为然?
      

  4.   


    <?php
    $a='';
    if($a){
        echo 'a';
    }else{
        echo 'b';
    }
    echo 'c';
    ?>
    若输出bc,你就明白了是因为你的配置问题了。
      

  5.   

    display_errors=On     
    error_reporting=E_ALL & ~E_NOTICE改完后记得重启服务器。