㈠ 怎麼讓php列印錯誤日誌
(1)使用echo ,簡單輸出
(2)使用print_r(),可以有規則的列印復雜結構
(3)var_mp遞歸輸出某種結構體
(4)print(),簡單列印
可以將你要輸出的錯誤內容放到上述語句或函數內進行列印輸出;也可以寫入某個文件,作為你的Log日誌:file_put_contents('/test1.txt',$value['value'],FILE_APPEND)等這類文件函數
以上是我自己工作中總結的PHP調試方法,挺好用的。
㈡ php 列印當前執行到的行數--為方便調試
echo '__LINE__';魔術變數之__LINE__記錄了當前執行的代碼所在行的行號。
PHP有不少能夠用來直接調試的函數,查看變數、對象、數組、Everything……
下面是魔術變數
__LINE__ 文件中的當前行號。
__FILE__ 文件的完整路徑和文件名。如果用在被包含文件中,則返回被包含的文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑(如果是符號連接,則是解析後的絕對路徑),而在此之前的版本有時會包含一個相對路徑。
__DIR__ 文件所在的目錄。如果用在被包括文件中,則返回被包括的文件所在的目錄。它等價於dirname(__FILE__)。除非是根目錄,否則目錄中名不包括末尾的斜杠。(PHP 5.3.0中新增) =
__FUNCTION__ 函數名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函數被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
__CLASS__ 類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
__METHOD__ 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。
__NAMESPACE__ 當前命名空間的名稱(大小寫敏感)。這個常量是在編譯時定義的(PHP 5.3.0 新增)
㈢ thinkphp3.2 調試模式開啟呢,怎麼列印不出sql語句,var_mp($this->sql())一直是null
用$this->getLastSql()來獲取
㈣ 有哪些 PHP 調試技巧
1、最簡單經典的var_mp()或者echo +exit()
2、配置error_log,能夠解決很多疑難雜症
3、debug方式是:xdebug
4、firebug + firephp或者chrome + chromephp
㈤ 用xampp調試php時 php和html文件各自放在哪怎麼調試
你可以使用print_r()或者var_mp()把你的請求數據($_POST或者$_GET)列印出來(如果不知道函數怎麼用的話就自己網路了)。
調試步驟:
1.
首先檢查下你的環境是否工作正常,可以建立幾個簡單的頁面試試;
2.
列印數據(可以在文件的開頭列印),看看請求是不是有進來;
3.
如果請求都沒有進來,說明你提交數據的表單沒正確;
4.
如果請求的數據有進來,說明你的代碼有問題。
自己仔細檢查下吧。
㈥ PHP調試中有哪些輸出方法
PHP開發中,經常會查看變數的值,因此經常會將變數的值輸出到頁面以便於查看。
常用的輸出方式有:echo、print、print_r、var_mp、var_exprot等;echo和print常用來輸出字元串;
查看數組常用print_r、var_mp、var_exprot;
若使用echo和print輸出數組時則,結果只能顯示"Array",不會顯示數組的結構。
一下舉一例說明幾種用法
配合print "<pre"和print "</pre",以數組$a為例說明各種輸出的區別。
$a = array ('a' = 'apple', 'b' = 'banana', 'c' = array ('x', 'y', 'z'));
print_r($a);輸出結果:Array ( [a] = apple [b] = banana [c] = Array ( [0] = x [1] = y [2] = z ) )
print "<pre"; print_r($a); print "</pre";輸出結果:Array([a] = apple
[b] = banana
[c] = Array([0] = x[1] = y[2] = z))var_mp($a);輸出結果:array(3) { ["a"]= string(5) "apple" ["b"]= string(6) "banana" ["c"]= array(3) { [0]= string(1) "x" [1]= string(1) "y" [2]= string(1) "z" } }
print "<pre"; var_mp($a); print "</pre";輸出結果:array(3) {["a"]=string(5) "apple"["b"]=string(6) "banana"["c"]=array(3) {[0]=string(1) "x"[1]=string(1) "y"[2]=string(1) "z"}}var_export($a);輸出結果:array ( 'a' = 'apple', 'b' = 'banana', 'c' = array ( 0 = 'x', 1 = 'y', 2 = 'z', ), )
print "<pre"; var_export($a); print "</pre";輸出結果:array ('a' = 'apple',
'b' = 'banana',
'c' =array (0 = 'x',
1 = 'y',
2 = 'z',),)調試的時候可以根據不同的需要選用不同的輸出方式。
㈦ 新手,php用什麼工具來調試代碼錯誤
你好,一般使用框架時,出現問題,會在頁面里自動顯示的,當然框架可能需要配置成 開發 模式, 然後再配合例如var_mp 這樣的列印函數進行調試。如果是操作資料庫,就使用框架自帶的 最後執行的sql語句進行檢測比如,CI的$this->db->last_query(); 或者 Thinkphp3.2的$Model->getLastSql();
㈧ ecshop修改了一個list_goods.php後,怎麼列印數組,查看調試,具體一些
以下代碼可以幫助你調試程序:
echo "<pre>";
print_r($test);
echo "<pre>";
$test就是你要列印的數組,然後找display對應的模板,頁面頭部就可以看到你數組的數據。
希望能幫助到你..
㈨ php 代碼如何調試
開啟Apache伺服器以及MY_SQL資料庫。
在PHP集成環境的安裝目錄「www」文件夾中創建我們需要用到的php文件,1.php.
用Notepad++打開1.php文件,然後輸入PHP的語言格式:
<?php ?>
輸入標準的輸出語言:
<?php
echo "Hello world !" //輸出Hello world 語言。 echo 是列印的意思
?>
在網頁上輸入localhost:8080/1.php可以調試我們自己寫的php代碼
PHP的簡單運算,用$來定義應用數據,輸出也是一樣。
<?php
$sum=1;
$total=1.22;
$sum=$total+$sum;
echo $sum ?>
㈩ 怎麼優雅的輸出PHP調試信息
利用瀏覽器調試模式的Console
1,先定義一個php函數:
functionconsole($log='')
{
switch(empty($log)){
caseFalse:
$out=json_encode($log);
$GLOBALS['console'].='console.log('.$out.');';
break;
default:
echo'<scripttype="text/javascript">'.$GLOBALS['console'].'</script>';
}
}
2,在需要調試的地方直接調用它,遞交的參數可以是字元串,也可以是數組。
3,在適當的位置調用無參數的console,用來輸出調試信息,比如各類php框架入口文件的最底部
4,打開瀏覽器(比如chrome),載入頁面後進入調試模式(比如按F12鍵),點擊Console,你會發現所有數據都在這里等著你查閱。
5,其他用途
優秀的PHP開源框架ThinkPHP提供了輸出運行狀態的功能,你可以通過運行狀態來了解某個頁面在後台處理了多長時間。但是,很多人都注意到了,它是不準確的。
下面我們試著用剛剛加進來的自定義函數console在瀏覽器中輸出真正的運行時間。
所有工作都在入口文件中完成:
在所有代碼的最開頭,定義變數$s=microtime(true);
在console();的上面再增加console('exetime:'.round(microtime(true)-$s,4));