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相干学问,请接见ki4网!
以上就是PHP版本升级后代码没法运用的细致内容,更多请关注ki4网别的相干文章!