(1)echo:最簡單的輸出數據調試方法,通常用來輸出變量值或者不肯定執行到哪一個分支。
(2)print_r、var_dump、debug_zval_dump:主要是輸出變量的數據值。debug的輸出結果和var_dump相似,惟一增長的一個值是refcount,記錄一個變量被引用了多少次。
(3)debug_print_backtrace:查看輸出的調用棧信息。
(4)exit():中止程序,沒法運行後面代碼。php
Xdebug是一個開源的PHP程序調試工具,可使用它來調試、跟蹤及分析程序運行狀態。Xdebug須要結合PHP的編輯工具來打斷點、跟蹤、調試及分析。html
指定Xdebug擴展文件的絕對路徑
zend_extension = "C:\XXX\php\php-版本號\ext\php_xdebug.dll"
啓用性能檢測分析
xdebug.profiler_enable = on
啓用代碼自動追蹤
xdebug.auto_trace = on
容許收集傳遞給函數的參數變量
xdebug.collect_params = on
容許收集函數調用的返回值
xdebug.collect_return = on
指定堆棧跟蹤文件的存放目錄
xdebug.trace_output_dir = "C:\XXX\tmp\xdebug"
指定性能分析文件的存放目錄
xdebug.profiler_output_dir = "C:\XXX\tmp\xdebug"
鏈接和監聽主機和端口的調試客戶端
xdebug.remote_enable = on
啓動調試器協議dbgp
xdebug.remote_handler = dbgp
客戶端的主機
xdebug.remote_host = localhost
客戶端的端口
xdebug.remote_port = 9000
指定DBGP調試器處理程序
xdebug.idekey = PHPSTORM
注:以上的配置均在php.ini中數組
全局變量
在函數外面定義的變量,不能在函數中直接使用,由於它的做用域不會到函數內部。因此在函數內部使用的時候經常看到相似global $a;
超全局變量
做用域在全部腳本都有效。因此,在函數能夠直接使用。除了$_GET,$_POST,$_COOKIE等以外的超全局變量保存在$GLOBALS數組中。
global
做用是定義全局變量,只應用於當前網頁(包括include和require的全部文件)而不是整個網站。
$GLOBALS
用於在PHP腳本中的任意位置訪問全局變量(從函數或方法中都可)
POST(隱藏傳參)
GET(URL傳參)
$_REQUEST
能從POST和GET中獲取提交的數據,可是速度比較慢。儘可能不要使用request。
$_ENV
包含服務器端環境變量的數組,可在PHP程序的任何地方直接訪問。
只是被動的接受服務器端的環境變量轉換爲數組元素。服務器