PHP版本升级后代码无法使用-PHP问题

资源魔 30 0

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 php教程 php故障解决 php使用问题 版本升级 无法使用

抱歉,评论功能暂时关闭!