2017-09-30 118 views
1

我的PHP脚本有一个奇怪的错误:调用undefined函数defined()。致命错误:调用未定义的函数定义()

PHP代码如下:

define('ENVIRONMENT', 'development'); 
if (defined('ENVIRONMENT')) 
{ 
    switch (ENVIRONMENT) 
    { 
     case 'development': 
      error_reporting(E_ERROR); 
     break; 
     case 'testing': 
      error_reporting(E_ALL); 
      break; 
     case 'production': 
      error_reporting(0); 
      break; 
     default: 
      exit('The application environment is not correct.'); 
    } 
} 

有没有人见过这个错误。 感谢您的帮助。除非你不只是做

回答

0

你的脚本看起来好吗:if (defined('ENVIRONMENT')) ....而只使用switch(...)if...elseif ....这个片段下方模仿你的代码,但使用不同的defined()(仅在恒定的宣言,像这样:

<?php 
     // IMPLIES: 

     // IF THE CONSTANT 'ENVIRONMENT' IS NOT YET DEFINED ELSEWHERE, 
     // DEFINE IT NOW AND GIVE IT A VALUE OF 'development' 
     defined("ENVIRONMENT") or define("ENVIRONMENT", 'development'); 

     // NOW YOU CAN ENGAGE YOUR SWITCH CONSTRUCT LIKE SO:   
     switch(ENVIRONMENT){ //<== NOTICE: WE AIN'T USING ANY `IF` 
           //<== THIS COULD BE REPLACED WITH IF, IF YOU PREFER: 
      case 'development': 
       error_reporting(E_ERROR); 
       break; 
      case 'testing': 
       error_reporting(E_ALL); 
       break; 
      case 'production': 
       error_reporting(0); 
       break; 
      default: 
       exit('The application environment is not correct.'); 
     } 
1

这很奇怪defined是一个内置的功能 看一看的Zend/zend_builtin_functions.c,看看这个功能是“偶尔”评论

相关问题