ã¨ã©ã¼å¦ç
ã¨ã©ã¼å¦çåã³ãã°è¨é²ã«ã¤ãã¦ã
ã»ãã¥ãªãã£ã¼åä¸ã®çºã«ãã¹ããã¨ã
PHPã³ã¼ãã®å®è¡æã«ã¨ã©ã¼ãçºçããå ´åãé常è¿ãããPHPã®ã¨ã©ã¼ã¯ãçºçããã¨ã©ã¼ã®å 容ãã¨ã©ã¼ãçºçãããã¡ã¤ã«ã®ååãã¨ã©ã¼ãçºçããè¡çªå·ã®ãããªæ å ±ãå«ã¾ãã¾ããããã¯ãã¹ã¯ãªããããããã°ããéçºè ã«ã¯éå¸¸ã«æç¨ãªæ å ±ã§ãã䏿¹ã§ãæ¬çªã®ã·ã¹ãã ã§ã¯æªè³ªãªå©ç¨è ã«ç¥ããã¦ã¯å°ãæ å ±ãå«ã¿å¾ãçºã«å¤§å¤å±éºï¼è¬ãã°ã諸åã®å£ï¼ã§ããã§ããããå®å ¨å¯¾çï¼ã»ãã¥ãªãã£ã¼åä¸ææ®µï¼ã¨ãã¦ãå®è¡ããã³ã¼ãã®ã¨ã©ã¼ãªãã¼ããå®å ¨ã«ç¡å¹ã«ãããã¨ãPHP ããã¥ã¢ã«ã§ãå¼·ãæ¨å¥¨ããã¦ãã¾ãã
å®è¡ããã³ã¼ãã®ã¨ã©ã¼ãªãã¼ããå®å ¨ã«ç¡å¹ã«ããã«ã¯ã以ä¸ã®2種é¡ã®æ¹æ³ãããã¾ããã»ãã¥ãªãã£ã¼åä¸ã®çºã«ããæ¬çªã®ã·ã¹ãã ã§ã¯ãä½ããã®æ¹æ³ã§ã¨ã©ã¼ãªãã¼ããå®å ¨ã«ç¡å¹ã«ãã¹ãã§ãããã
php.iniï¼PHPã®è¨å®ãã¡ã¤ã«ï¼ã®ãªãã·ã§ã³display_errorsãç¡å¹ï¼Offï¼ã«è¨å®- PHPãã¡ã¤ã«ã®ã³ã¼ãä¸ï¼åé ãªã©ï¼ã«
error_reporting()颿°ã0ã¨è¨å®
å¾è ã®æ¹æ³ãªãã°ãPHPãã¡ã¤ã«ã®åé ã«ã§ãè¨è¿°ãã¦ããã¨è¯ãã
<?php
// å
¨ã¦ã®ã¨ã©ã¼åºåãç¡å¹ã«ããã
error_reporting(0);
...
?>ããã«ãããå®è¡æã«çºçãå¾ãå ¨ã¦ã®ã¨ã©ã¼åºåãç¡å¹ã«ãããã¨ãå¯è½ã§ããã¾ããã¨ã©ã¼å¦çåã³ãã°è¨é²ãè¡ã颿°ã«ãããç¬èªã®ã¨ã©ã¼å¦çè¦åãå®ç¾©ãããã¨ãã§ãã¾ãã
ç¬èªã¨ã©ã¼å¦çã¯ã©ã¹
æ¦è¦
å®ç¨ãµã¤ãï¼æ¬çªã®ã·ã¹ãã ï¼ã¨ãã¼ã«ã«ãªè©¦é¨ãµã¤ãã§ã®ã¨ã©ã¼ãªãã¼ãã®æ¹æ³ãç°¡åã«è¨å®ãã¦ãããã¨ãã§ãã¾ãã
ErrorHandlerã¯ã©ã¹
public class ErrorHandler extends Objectæ§é
ã¯ã©ã¹ã®ä½¿ç¨ä¾
次ã®ä¾ã¯ãErrorHandler.phpã使ç¨ãããµã³ãã«ã§ãã
<?php
ini_set("include_path", "./");
// require_once("org/purl/net/osamurai/error/ErrorHandler.php"); // for PHP 4
require_once("error/ErrorHandler.php"); // for PHP 5
$errorHandler = new ErrorHandler;
// ã¨ã©ã¼ãã³ãã©ã®è¨å®
set_error_handler(array(&$errorHandler, "handler"));
// ãããã°ã®è¨å®
switch (strtolower($_SERVER['HTTP_HOST'])) {
case "127.0.0.1":
case "localhost":
$errorHandler->debug(true);
break;
default:
$errorHandler->debug(false);
$errorHandler->setLog("/home/username/php_error.log",
E_WARNING | E_NOTICE | E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE);
}
?>注é
- å©ç¨ã§ããã¡ã½ããçã«ã¤ãã¦ã¯ããã¡ã¤ã«ä¸ã®æ³¨éãã覧ä¸ããã
- ãå©ç¨ã®éã®æ³¨æäºé ãªã©ãã覧ä¸ããã