me try it 
change the following
<?phpdefine("DEBUG",false);if("DEBUG")   ////////////here
     die("ERROR");
?>

解决方案 »

  1.   

    ha ha errordefine("DEBUG",false);if(DEBUG)當然沒有輸出。換成define("DEBUG",TRUE);或if(!DEBUG)
      

  2.   

    编译?
    好象对PHP没有这样的说法。解释也许更确切一些。
    这段代码当然不会有任何输出了。
    不过PHP的语法分析还是会执行的,这段代码有错还是一样的报错。
      

  3.   

    呵呵,有人可能没理解我的意思.    这段代码当然没有输出,但是它可能会在调试时有用.有些输出只想在调试时才有的,而程序运行时不会有----有谁希望在用户使用时看到调试信息?    所以才有了这个问题,这些调试信息对于程序(被用户)运行时是没有用的,也就是说if(DEBUG)中的代码根本没有必要被编译.那么编译器是怎么做的呢?是统统编译、运行(如果是这种情况,则对于程序的空间和运行时间都是损失),还是跳过不编译?--------------------------------------------------------------
    to:楼上的兄弟
        你说得对,PHP是解释型语言,一个PHP文件浏览请求并不一定每一次都需要重新解释,如果再次接收以前的请求而且没有变化,WEB服务器会从缓存中提出结果而不是再次运行解释模块.
        这样看来,也就有些像编译了:)
      

  4.   

    TO: zjingwei(深海之舟) 
    既然是解释性的语言,就不会存在编译的问题。
    WEB服务器会从缓存中提出结果而不是再次运行解释模块。
    这个是正确的,但是前提是再次接收以前的请求而且没有变化。
    PHP是一种解释语言,而不是编译语言-这意味着它被装载后还要被分析。