升級PHP版本后代碼無法使用怎么辦?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
在佳木斯等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需求定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,網(wǎng)絡(luò)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,佳木斯網(wǎng)站建設(shè)費用合理。
php版本升級后,代碼無法使用多是因為版本之間的差異造成的不兼容,比如高版本的語法發(fā)生了改動,棄用了某些函數(shù),都會造成程序運行錯誤,想要解決這些問題,只能一步步的調(diào)試程序,下面介紹下怎樣調(diào)試程序,讓代碼兼容我們的高版本的php吧。
1 打印輸出
使用echo、var_dump 、print_r等方法在需要調(diào)試地方進行打印輸出,通過輸出特定變量的值可以判斷程序執(zhí)行是否正確。
2 使用debug_backtrace 函數(shù)打印調(diào)用棧信息:
debug_print_backtrace();exit; #0 cli_rakuten->getOrders(1) #1 call_user_func_array(Array ([0] => cli_rakuten Object (),[1] => getOrders), Array ([0] => 1)) called at [/data/project/***/include/of/of.php:79] #2 of::cliDispatch(cli_rakuten, getOrders, 1, Array ([0] => 1)) called at [/data/project/***/cli.php:17]
3 使用xdebug調(diào)試代碼
Xdebug是一個開放源代碼的PHP程序調(diào)試器(即一個Debug工具),可以用來跟蹤,調(diào)試和分析PHP程序的運行狀況。
配置好phpstorm+xdebug后,可很方便的對代碼進行斷點調(diào)試。
除了生成調(diào)用棧信息外,xdebug還能生成性能分析報告,windows上可使用WinCacheGrind來查看性能分析報告。
4 使用xhprof調(diào)試分析代碼
XHProf是facebook 開發(fā)的一個測試php性能的擴展。
對于本地開發(fā)環(huán)境來說,進行性能分析xdebug是夠用了,但如果是線上環(huán)境的話,xdebug消耗較大,配置也不夠靈活,因此線上環(huán)境建議使用xhprof進行PHP性能追蹤及分析。
在代碼中加入生成xhprof分析報告代碼:
xhprof_enable( XHPROF_FLAGS_MEMORY|XHPROF_FLAGS_CPU, [ 'ignored_functions' => [ 'call_user_func', 'call_user_func_array' ] ]); //這里是業(yè)務(wù)代碼 //... $xhprofData = xhprof_disable(); require '/data/soft/xhprof/xhprof_lib/utils/xhprof_lib.php'; require '/data/soft/xhprof/xhprof_lib/utils/xhprof_runs.php'; $xhprofRuns = new XHProfRuns_Default(); $runId = $xhprofRuns->save_run($xhprofData, 'xhprof_test'); echo 'http://192.168.52.129:8888/xhprof_html/index.php?run=' . $runId . '&source=xhprof_test'.PHP_EOL;
5 根據(jù)php錯誤日志進行調(diào)試
log日志,通常是系統(tǒng)或軟件、應(yīng)用的運行記錄。通過log的分析,可以方便用戶了解系統(tǒng)或軟件、應(yīng)用的運行情況;如果你的應(yīng)用log足夠豐富,也可以分析以往用戶的操作行為、類型喜好、地域分布或其他更多信息;如果一個應(yīng)用的log同時也分了多個級別,那么可以很輕易地分析得到該應(yīng)用的健康狀況,及時發(fā)現(xiàn)問題并快速定位、解決問題,補救損失。
php錯誤日志可在配置文件php.ini中設(shè)置:
log_errors = On error_log = /var/log/php-fpm/php_errors.log
查到了錯誤原因,我們就可以對程序做出相應(yīng)的修改了。
關(guān)于升級PHP版本后代碼無法使用怎么辦問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。