问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php代码无法运行

发布网友 发布时间:2022-04-18 10:23

我来回答

2个回答

懂视网 时间:2022-04-18 14:45

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中文网!

热心网友 时间:2022-04-18 11:53

类似WINDOWS自带的记事本等 软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP来说,BOM是个大麻烦。

PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。根据嵌入式 语言的特点,这串字符将被直接执行(显示)出来。由此造成即使页面的 top padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为在html一开头有这3个字符呢!

最大的麻烦还不是这个。受COOKIE送出机制的*,在这些文件开头已经有BOM的文件中,COOKIE无法送出(因为在COOKIE送出前PHP已经送出了文件头),所以登入和登出功能失效。一切依赖COOKIE、SESSION实现的功能全部无效。

因此,在编辑、更改任何文本文件时,请务必使用不会乱加BOM的编辑器。Linux下的编辑器应该都没有这个问题。 WINDOWS下,请勿使用记事本等编辑器。推荐的编辑器是: Editplus 2.12版本以上; EmEditor; UltraEdit(需要取消‘添加BOM’的相关选项); Dreamweaver(需要取消‘添加BOM’的相关选项)等。

对于已经添加了BOM的文件,要取消的话,可以用以上编辑器另存一次。(Editplus需要先另存为gb,再另存为UTF-8。)不过有时候不会显 。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 这台电脑怎么升级cpu和显卡? 电脑怎么升级比较好 CPU和显卡? 跑步小腿痛怎么办 生育保险的保险缴费期限 生育保险多久还能报 生育险的生效期限? 从今天开始我不要看手机。,我要开始锻炼。是学习知识。怎么办? 女朋友叫我不要玩手机了,我怎么回答,我很想跟他说 朋友问我要不要手机该怎么回答她 我不要手机锁屏 分期手机 我不要手机可不可以给现金呢?求答案 我不要手机助手,只要一个猎豹清理大师 端午节,怎么带孩子过一个有教育意义的端午节 昨天给相亲女孩买了手机,她接受了,为什么今天还要给钱我了。我说是送她滴。她就说你不要钱我就不要手机 儿子上幼儿园。教我儿子老师对我孩子非常好。这端午节我亲手包的棕子。我给孩子老师拿点去可以吗? 相亲对象送我手机,我不要,还硬抓我的手,说明他人品怎么样? 我现在带着手机在散步 但是我不要手机计算我的运动步数 怎么办_百度问一问 我的手机被偷了,我不要了,但是手机卡与我身份证绑定了,如果小偷弄欠费,我会有什么麻烦吗? 我用我身份证给女朋友贷款了一部苹果6手机,分手了,贷款还没还完,手机她说还我,我不要手机。我该怎 我不要手机更新系统可以吗? 小说为什么叫小说。为什么不叫书 看小说算读书吗? 小说是什么书 什么叫小说书 一部小说是指一本书还是书里面的一篇文章? 小说都是没有用的书吗? 电子书与网络小说是不是同一概念? 怎么判断一本书是“课外书”还是“小说”?求简单的方法!! 看网络小说算是看书吗?还会不会提高理解能力以及阅读能力等等? 读万卷书,行万里路,这里的书是指的什么类型的书?小说么?还是专业书籍? 电子书是书吗 看手机小说算是看书,读书吗? mercury的路由器怎么设置是OS X系统 router os 需要什么硬件 Router os 是干什么 Router OS 全攻略的内容简介 Router OS 全攻略的目录 怀孕快四个月了还没有胎动,这是怎么回事? 用C#做一个毫秒级别的定时器,能准群的实现每40MS调用一个函数? 服务器版本升级为PHP5.5版本以后,网站(PHP2008 SP4版本)后台模板代码不显示?怎样解决?