一般的php中的中间变量,直接echo出来就行了,但遇到一些Ajax的例子,或者不能直接echo出来的中间变量,想要知道其具体值是多少,该怎么调试?我一般用的file_put_contents到一个txt文件中,但又感觉好麻烦,有没有更好的办法?
1
andy12530 2015-01-24 17:34:46 +08:00 via iPhone
断点
|
3
demonchang 2015-01-24 17:36:09 +08:00
- -! 做等围观其他方法。。。
|
4
ccbikai 2015-01-24 17:42:07 +08:00 via Android 1
tail -f log.txt
|
5
kn007 2015-01-24 17:42:30 +08:00
mark,围观,
|
8
Sunyanzi 2015-01-24 17:45:33 +08:00
我的框架提供三种 log 方式 ... 第一种页面输出 ... 第二种 header 输出 ... 第三种文件输出 ...
我觉得无论如何都够用了 ... 不想影响页面就输出到 header 好了 ... |
9
Felldeadbird 2015-01-24 18:00:03 +08:00
console.log / console.dir 楼主说的ajax吗
|
10
jevonszmx 2015-01-24 18:09:59 +08:00
很多方法啊,笨的就是firebug看请求,要不就是加断点在ide调试看内容,要不就是加log方法写到log里面去(很多框架带这个功能,加了log($var, '这个是ajax的log')就写进去了log文件),麻烦点就是装个FirePHP看。
|
11
mcfog 2015-01-24 18:11:12 +08:00
|
12
wy315700 2015-01-24 18:17:33 +08:00
var_dump
|
13
kongkongyzt 2015-01-24 19:30:23 +08:00
不是可以 var_dump()嘛....
|
14
kisshere OP @kongkongyzt 我的意思是 怎样将这个变量显示出来?不是显示这个变量有哪些属性
|
15
quericy 2015-01-24 19:49:00 +08:00
ajax的话一般var_dump然后exit,接着chrome用F12抓包看
|
16
loveyu 2015-01-24 20:45:20 +08:00
var_dump 然后 F12看包
|
17
towser 2015-01-24 21:00:14 +08:00
罗飞用node.js写了个socketlog,可以在console输出调试信息,可以一用
|
18
soulteary 2015-01-24 21:04:26 +08:00
@jevonszmx 说的蛮详细了,不开远程调试,firebug解决一切问题,如果遇到服务器前端软件过滤问题,可以记录log。
|
19
hitsmaxft 2015-01-24 22:52:00 +08:00
既然是 ajax 请求, 可以直接http访问, 和页面有什么区别, post 语句就用工具构造呗。
|
20
revlis7 2015-01-24 23:32:55 +08:00
error_log($message, 3, '/tmp/debug.log');
|
21
xwsoul 2015-01-24 23:42:21 +08:00
自己用html写了个 post debug
自己生成表单, 选择提交, 提交一旦成功了不是直接刷浏览器就行了么? |
22
msg7086 2015-01-25 08:46:27 +08:00
一般也就是put-contents吧,无脑输出然后tail -f跟踪一下就好了。
|
23
jsq2627 2015-01-25 13:54:26 +08:00
|
24
linkdesu 2015-01-27 10:29:34 +08:00
@jsq2627 的方案就比较不错~~Phpstorm自带的调试功能灰常强大~~除此以外我还推荐php console https://github.com/barbushin/php-console ~~以及使用 monolog 把日志输出到 chrome logger~~多用日志少调试~~
|
25
wuwx 2015-01-30 22:18:34 +08:00
ajax 也照样强制打出来……
作为注释送到浏览器看去 |