首頁  >  文章  >  後端開發  >  PHP版本升級後程式碼無法使用

PHP版本升級後程式碼無法使用

angryTom
angryTom原創
2019-10-31 17:02:592854瀏覽

PHP版本升級後程式碼無法使用

PHP版本升級後程式碼無法使用

php版本升級後,程式碼無法使用多是因為版本之間的差異造成的不相容,例如高版本的語法發生了改動,棄用了某些函數,都會造成程序運行錯誤,想要解決這些問題,只能一步步的調試程序,下面介紹下怎樣調試程式,讓程式碼相容於我們的高版本的php吧。

1 列印輸出

使用echo、var_dump 、print_r等方法在需要偵錯地方列印輸出,透過輸出特定變數的值可以判斷程式執行是否正確。

2 使用debug_backtrace 函數列印呼叫堆疊資訊:

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偵錯程式碼

##Xdebug是一個開放原始碼程式碼的PHP程式偵錯器(即一個Debug工具),可以用來追蹤,調試和分析PHP程式的運行狀況。

配置好phpstorm xdebug後,可很方便的對程式碼進行斷點偵錯。

除了產生呼叫堆疊資訊外,xdebug還能產生效能分析報告,windows上可使用WinCacheGrind來查看效能分析報告。

4 使用xhprof調試分析程式碼

XHProf是facebook 開發的一個測試php效能的擴充。

對於本機開發環境來說,進行效能分析xdebug是夠用了,但如果是線上環境的話,xdebug消耗較大,配置也不夠靈活,因此線上環境建議使用xhprof進行PHP效能追蹤及分析。

在程式碼中加入產生xhprof分析報告程式碼:

xhprof_enable(
        XHPROF_FLAGS_MEMORY|XHPROF_FLAGS_CPU,
        [
            'ignored_functions'    => [
                'call_user_func',
                'call_user_func_array'
            ]
        ]);
 
//这里是业务代码
//...
 
 
$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 根據php錯誤日誌進行偵錯

log日誌,通常是系統或軟體、應用的運作記錄。透過log的分析,可以方便使用者了解系統或軟體、應用程式的運作;如果你的應用程式log夠豐富,也可以分析以往使用者的操作行為、類型喜好、地理分佈或其他更多資訊;如果一個應用的log同時也分了多個級別,那麼可以很輕易地分析得到該應用的健康狀況,及時發現問題并快速定位、解決問題,補救損失。

php錯誤日誌可在設定檔php.ini設定:

log_errors = On
error_log = /var/log/php-fpm/php_errors.log

查到了錯誤原因,我們就可以對程式做出對應的修改了。

更多PHP相關知識,請造訪

PHP中文網

以上是PHP版本升級後程式碼無法使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:php報500錯誤下一篇:php報500錯誤