第一步:
在 php.ini 中,將 display_errors 設置為 On;
第二步:
在 框架的 開始處,添加如下代碼:
<?php
if (isset($_GET['debug'])) {
// ini_set('display_errors', true);
//【注意】本來不想到 php.ini 中修改 display_errors 值,但是 在 PHP 代碼中設置 display_errors 值不起作用,悲劇!
error_reporting(E_ALL);
set_time_limit(0);
} else {
error_reporting(E_ERROR);
}
以前習慣用 echo,print_r 等方法來測試PHP輸出,這樣多多少少會影響到代碼的正常運行,現改成“把測試變量輸出到文本”的形式,可實現日志形式的調試,代碼如下:
<?php
/**
* 寫文件
*
* @param string $filename 文件名
* @param string $text 要寫入的文本字符串
* @param string $openmod 文本寫入模式('w':覆蓋重寫,'a':文本追加)
* @return bool
*/
function file_write($filename = '', $text = '', $openmod = 'w') {
if (@$fp = fopen($filename, $openmod)) {
flock($fp, 2);
fwrite($fp, $text);
fclose($fp);
return true;
} else {
return false;
}
}
/**
* 寫對象(包括 數字、字符串、數組)
* 【注意:臨時調試用而已!】
*
* @param string $text 要寫入的文本字符串
* @param string $type 文本寫入類型('w':覆蓋重寫,'a':文本追加)
* @param bool $isVarExport 是否變量導出
* @return bool
*/
function write2($text = '', $type = 'a', $isVarExport = false) {
$filename = __DIR__ . '/write2.txt';
$text = (is_array($text) && $isVarExport) ? var_export($text, true) : print_r($text, true);
$text = "++++++++++++++++++++++++++++++++++++++++++\r\n"
. date('Y-m-d H:i:s') . "\r\n"
. $text . "\r\n";
return file_write($filename, $text, $type);
}
今后,直接用write2('xxx');函數即可。
另外,也可用“file_put_contents”去寫文本
$data222 = $arr; $text222 = print_r($data222, true); $filename222 = 'd:\My Documents\1\write.txt'; file_put_contents($filename222, $text222);
延伸閱讀:
