kisshere
V2EX  ›  PHP

php 中的中间变量调试打印出来,众 V2er 们怎么处理的?

  •  
  •   kisshere · Jan 24, 2015 · 5329 views
    This topic created in 4156 days ago, the information mentioned may be changed or developed.

    一般的php中的中间变量,直接echo出来就行了,但遇到一些Ajax的例子,或者不能直接echo出来的中间变量,想要知道其具体值是多少,该怎么调试?我一般用的file_put_contents到一个txt文件中,但又感觉好麻烦,有没有更好的办法?

    25 replies    2015-01-30 22:18:34 +08:00
    andy12530
        1
    andy12530  
       Jan 24, 2015 via iPhone
    断点
    kisshere
        2
    kisshere  
    OP
       Jan 24, 2015
    @andy12530 能具体点吗?
    demonchang
        3
    demonchang  
       Jan 24, 2015
    - -! 做等围观其他方法。。。
    ccbikai
        4
    ccbikai  
    PRO
       Jan 24, 2015 via Android   ❤️ 1
    tail -f log.txt
    kn007
        5
    kn007  
       Jan 24, 2015
    mark,围观,
    kn007
        6
    kn007  
       Jan 24, 2015
    @ccbikai ..我也是
    Jat001
        7
    Jat001  
       Jan 24, 2015
    @kisshere exit 啊……
    Sunyanzi
        8
    Sunyanzi  
       Jan 24, 2015
    我的框架提供三种 log 方式 ... 第一种页面输出 ... 第二种 header 输出 ... 第三种文件输出 ...

    我觉得无论如何都够用了 ... 不想影响页面就输出到 header 好了 ...
    Felldeadbird
        9
    Felldeadbird  
       Jan 24, 2015
    console.log / console.dir 楼主说的ajax吗
    jevonszmx
        10
    jevonszmx  
       Jan 24, 2015
    很多方法啊,笨的就是firebug看请求,要不就是加断点在ide调试看内容,要不就是加log方法写到log里面去(很多框架带这个功能,加了log($var, '这个是ajax的log')就写进去了log文件),麻烦点就是装个FirePHP看。
    mcfog
        11
    mcfog  
       Jan 24, 2015
    http://phpdebugbar.com/ 和monolog一起。 ajax的话可以配storage把请求的各种情况持久化下来

    简直犀利
    wy315700
        12
    wy315700  
       Jan 24, 2015
    var_dump
    kongkongyzt
        13
    kongkongyzt  
       Jan 24, 2015
    不是可以 var_dump()嘛....
    kisshere
        14
    kisshere  
    OP
       Jan 24, 2015
    @kongkongyzt 我的意思是 怎样将这个变量显示出来?不是显示这个变量有哪些属性
    quericy
        15
    quericy  
       Jan 24, 2015
    ajax的话一般var_dump然后exit,接着chrome用F12抓包看
    loveyu
        16
    loveyu  
       Jan 24, 2015
    var_dump 然后 F12看包
    towser
        17
    towser  
       Jan 24, 2015
    罗飞用node.js写了个socketlog,可以在console输出调试信息,可以一用
    soulteary
        18
    soulteary  
       Jan 24, 2015
    @jevonszmx 说的蛮详细了,不开远程调试,firebug解决一切问题,如果遇到服务器前端软件过滤问题,可以记录log。
    hitsmaxft
        19
    hitsmaxft  
       Jan 24, 2015
    既然是 ajax 请求, 可以直接http访问, 和页面有什么区别, post 语句就用工具构造呗。
    revlis7
        20
    revlis7  
       Jan 24, 2015
    error_log($message, 3, '/tmp/debug.log');
    xwsoul
        21
    xwsoul  
       Jan 24, 2015
    自己用html写了个 post debug
    自己生成表单, 选择提交, 提交一旦成功了不是直接刷浏览器就行了么?
    msg7086
        22
    msg7086  
       Jan 25, 2015
    一般也就是put-contents吧,无脑输出然后tail -f跟踪一下就好了。
    jsq2627
        23
    jsq2627  
       Jan 25, 2015
    xdebug

    整套解决方案 https://www.jetbrains.com/phpstorm/
    linkdesu
        24
    linkdesu  
       Jan 27, 2015
    @jsq2627 的方案就比较不错~~Phpstorm自带的调试功能灰常强大~~除此以外我还推荐php console https://github.com/barbushin/php-console ~~以及使用 monolog 把日志输出到 chrome logger~~多用日志少调试~~
    wuwx
        25
    wuwx  
       Jan 30, 2015
    ajax 也照样强制打出来……
    作为注释送到浏览器看去
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1195 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 170ms · UTC 23:30 · PVG 07:30 · LAX 16:30 · JFK 19:30
    ♥ Do have faith in what you're doing.