• 1、掌握微信开发PHP调试技巧。 二、实验内容 1、利用程序调试追踪工具PHPLog php调试程序。 2、使用die()/exit()命令。 3、使用var_dump()和print_r()命令。 4、使用Eclipse Php Neon开发环境的调试工具

    (>>>>在公众号中输入文章最后彩蛋即可获取源代码)

    开源项目:https://github.com/chenxhjeo,个人博客:http://blog.csdn.net/u013487761

    技术QQ群名称:豆豆咨询,群号:625686304

    微信公众号名称:豆豆咨询,微信公众号:douAsk

    初建日期:2017.04.11

    一、实验目的 

    1、掌握微信开发PHP调试技巧。 

    二、实验内容

    1、利用程序调试追踪工具PHPLog php调试程序。

    2、使用die()/exit()命令。

    3、使用var_dump()和print_r()命令。

    4、使用Eclipse Php Neon开发环境的调试工具。

    三、实验步骤及过程 

    学会调试程序是开发的重要内容,PHP调试不如其它的工具调试,特别是web网站的交互,当前PHP开发工具难以实现(如果有其它的PHP开发调试工具,希望能够在微信公众号“豆豆咨询”里留言)。

    本实验采用不同的方法实现PHP调试。程序执行的过程中,在相应的地方记录你想要追踪的变量及调用栈和每次函数调用的参数。

    1、使用PHPLog php调试工具。

    PHPLog php调试工具是邓志义在2009/08/23于广州书写,我们修改了部分内容(在”豆豆咨询”公众号源程序下载中可以看到修改的内容)。

    a. 拷贝phplog.php文件:把phplog.php文件放到你的站点目录下。

    b. 编辑phplog.php文件:用编辑器打开phplog.php,定位到20行,设定好你个人的配置。

    c. 浏览phplog.php文件:在浏览器中打开phplog.php,你就可以看到一些相关的信息及帮助说明。例如在浏览器中输入如下网站地址信息http://78976932.tunnel.2bdata.com/ThinkPHP/public/phplog.php,我们将看到如下信息:

    d. 编辑想要调试的PHP文件:使用编辑器打开你的PHP文件,例如PHPDebug.php文件,在PHPDebug.php文件中使用phplog.php中的__log函数记录你想要记录的变量、对象以及其他相关的调试信息。例如:

    l  在PHP文件顶部输入:require '../phplog.php';

    l  在程序其他地方输入编码:__log('Hello 豆豆');

    e.运行调试的PHP文件:在浏览器中输入网址信息,例如http://78976932.tunnel.2bdata.com/ThinkPHP/public/weixin/PHPDebug.php,将运行PHP文件,phplog.php将记录调试信息在相同目录下的文件中,例如2017-04-11.log文件。

    f. 查看和编辑运行结果:在浏览器中输入地址,浏览调试文件,如http://78976932.tunnel.2bdata.com/ThinkPHP/public/phplog.php,这时运行phplog.php,可以看到调试的信息。而且,你还可以查看、编辑调试信息:在你的浏览器里访问phplog.php,将看到你刚才记录的信息及它的调用栈和参数。当你通过浏览器访问运行phplog.php程序时,该程序会把整个文件读取分析,在页面显示你的所有调试信息,并且它会动态ajax刷新。

    注意:请不让log文件超过5M大小,浏览器可能会崩溃的。

    2、使用die()/exit()命令。

    die()/exit()函数都有终止线程的作用,应该是等价的,它们是php断点调试需要使用的最主要的函数,它们也是php程序员使用非常频繁的函数。die()函数一般与“or”一并使用,写作“or die()”,经常看到这样的语句:

    $file = fopen($filename, 'r') or die("抱歉,无法打开: $filename")

    解释:如果fopen函数执行失败,就会返回false,那么就会执行die(),程序则会停止执行,并且显示指定出错信息,以此达到调试目的。

    具体实例:

     <?php

    $site = "http://www.google.com/";

    fopen($site,"r") or exit("Unable to connect to$site");

    ?>

    或者

     <?php

    $site = "http://www. google.com/";

    fopen($site,"r") or die("Unable to connect to$site");

    ?>

    你将看到“Unable to connect to http://www.google.com/”信息。

    3、使用var_dump()print_r()命令。

    1)var_dump -- 打印变量的相关信息

    void var_dump ( mixed expression [, mixed expression [, ...]] )

    此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。例如以下代码将输出变量:

    <?php

    $a = array (1, 2, array ("a", "b", "c"));

    var_dump ($a);

    $b = 3.1;

    $c = TRUE;

    var_dump($b,$c);

    ?>

    2)print_r -- 打印关于变量的易于理解的信息

    bool print_r ( mixed expression [, bool return] )

    a.    print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。

    例如:

    <?php

    $a = array ('a' => 'apple',

    'b' => 'banana',

    'c' => array ('x','y','z'));

    print_r ($a);

    ?>

    将输出:

    Array ( [a] => apple [b] => banana [c]=> Array ( [0] => x [1] => y [2] => z ) )

    b.    print_r(,true):如果想捕捉 print_r() 的输出,可使用 return 参数。若此参数设为 true,print_r() 将不打印结果(此为默认动作),而是返回其输出。

    例子:return 参数示例

    <?php

    $b = array ('m' => 'monkey',

    'foo' => 'bar',

    'x' => array ('x', 'y', 'z'));

    $results = print_r ($b, true);//$results 包含输出结果

    ?>

    4、使用Eclipse Php Neon开发环境的调试工具。

    安装集成开发环境,Eclipse Php Neon新建项目,然后添加PHP文件,采用Debug as/ PHP CLI Application进入调试环境,调试器XDebug采用WAMP工具包安装的php.exe,如上图所示。我们可以其他集成开发工具一样,进入断点调试环境。但有一个缺点,即当用户访问网页时,调试环境不能与其同步,与visual studio有一定的差距。希望未来能够增加这个功能,实现与用户的直接交互调试。

    四、技术服务


    1、如果有疑问或者需要帮助,请加入QQ群(群名称:豆豆咨询,群号:625686304);或者公众号douAsk,公众号名称为“豆豆咨询”。扫描以下二维码,关注“豆豆咨询”

     


    在“豆豆咨询”公众号中输入以下彩蛋号,将获取源代码:

    彩蛋号:1204

    展开全文
  • 开发者工具配置:在开发者工具右侧的详情中的项目设置,将不校验合法域名打上勾index.js:Page({ //对应的index.wxml页面绑定的数据 data: { json : '' }, //index.wxml页面加载时调用的函数 onLoad: function...

    开发者工具配置:

    在开发者工具右侧的详情中的项目设置,将不校验合法域名打上勾(避免每个月只能修改五次合法域名的弊端,当然这只适用于开发者工具开发时)


    index.js:

    Page({
      data : {
        json : ''
      },
    
      onLoad:function(){
        var that = this;
          wx.request({
            url: 'http://localhost:8888',
            method: 'GET',
            dataType: 'json',
            responseType: 'text',
            success: function(res) {
              console.log(res.data);
              that.setData({
                json : res.data.name +' '+ res.data.from
              })
            },
            fail: function(res) {}
          })
      }
    })

    index.wxml:

    <view>{{json}}</view>

    本地nodejs服务器:

    (server.js是单独存在的js文件,不用写在开发者工具里,要通过终端输入 node server.js打开,需要nodejs环境)

    server.js:

    var http = require('http');
    
    http.createServer(function (request, response) {
    
        // 发送 HTTP 头部 
        // HTTP 状态值: 200 : OK
        // 内容类型: text/plain
        response.writeHead(200, {'Content-Type': 'text/plain'});
    
        // 发送响应数据 "Hello World"
        response.end('{"name":"本地服务器","from":"127.0.0.1"}');
    }).listen(8888);
    
    // 终端打印如下信息
    console.log('Server running at http://127.0.0.1:8888/');

    此服务器监听本地8888端口,并在接受请求后返回一个json数据如下:

    {"name":"localhost","from":"127.0.0.1"}

    测试结果如下:

    1.在终端中打开server.js文件


    2.本地浏览器测试127.0.0.1:8888


    3.微信开发者工具测试结果:



    注意事项:开发者工具中使用wx.request时的url需要http://开头

    展开全文
  • 突然发现企业微信微信有一个调试工具,只有企业微信管理员才能调试哈。 1.点击我的企业–>微工作台 2.开启开发者工具,并点击web开发工具。 3.点击下载地址,选择Windows 64位版本 4.下载完成后,点击安装 5...

    最近企业微信上的开发困扰了我很久,企业微信上的页面无法调试,无从下手。
    突然发现企业微信和微信有一个调试工具,只有企业微信管理员才能调试哈。

    企业微信web开发者调试工具
    1.点击我的企业–>微工作台
    在这里插入图片描述
    2.开启开发者工具,并点击web开发工具。
    在这里插入图片描述
    3.点击下载地址,选择Windows 64位版本
    在这里插入图片描述
    4.下载完成后,点击安装
    在这里插入图片描述
    5.安装完后打开调试工具,选择公众号网页
    在这里插入图片描述
    6.在web开发者工具输入网址(企业微信中的自建应用的工作台应用主页所填写的url)即可调试
    在这里插入图片描述

    企业微信接口调试工具
    https://work.weixin.qq.com/api/devtools/devtool.php在这里插入图片描述

    展开全文
  • 1、点击微信开发者工具,击右键, 选择“属性”,打开面板之后,选择“快捷方式” => “目标” 2、在目标那一行的最后,输入“空格--...4、重启微信开发者工具即可 “空格--disable-web-security --u...

    1、点击微信开发者工具,击右键, 选择“属性”,打开面板之后,选择“快捷方式” => “目标”

    2、在目标那一行的最后,输入“空格--disable-web-security --user-data-dir”,务必要输入这个命令前面的空格

    3、点击“应用” => “确定”

    4、重启微信开发者工具即可

     

    “空格--disable-web-security --user-data-dir”

    转载于:https://www.cnblogs.com/songmengyao/p/7153658.html

    展开全文
  • 页面元素隐藏在微信开发者工具上可以隐藏, 但是在手机端不能隐藏 data: { a: false, }, <view hidden='{{!a}}' > </view> this.setData({ a: true, }) 解决办法: <!-- 获取值得...

     页面元素隐藏在微信开发者工具上可以隐藏, 但是在手机端不能隐藏

    data: {
       a: false,
    },
      
    <view hidden='{{!a}}' >
     
    </view>

     

    this.setData({
    
        a: true,
    
    })

    解决办法:

    <!-- 获取值得时候去掉 !叹号 -->
    <view hidden='{{a}}' >
     
    </view>

     

    展开全文
  • 最初的console 界面可能以下这样的, 当ctrl + s 保存并跑了一段代码,但是不显示结果. 解决办法就是把旁边的设置按钮 (蓝色的小齿轮) 点击一下就可以切换界面并看到跑代码的结果了 点击一下设置按钮,显示界面... ...
  • 最近有很多网友私信问我们网站上下载的那些小程序源码,怎么将它导入到小程序开发者工具中呢?因为问的人太多,今天就统一整理文章与大家分享,希望大家以后针对这个问题就不要再私信问我了。1:安装后图标:登录,...
  • 微信分享在开发工具调试正常,但是在手机上就是不成功, 没有任何报错提示,看文档从2017年4月25日起,分享朋友圈和发送给朋友自定义分享链接,域名必须和当前页面对应公众号的安全域名一致,否则调用失败。...
  • 最近做了一个小程序,在开发者工具里编译预览都可以访问数据库拿数据。使用真机调试却没有数据库的数据显示。我小程序里访问的url如下图所示: 解决方法: 1.打开cmd,输入ipconfig,查看IPv4地址 2.将小程序里的...
  • 初学微信二次开发首先我们要接入微信公众平台。我们首先要有一个开发微信的第三方平台。这个平台可以是自己写的代码,也可以使用已经发布的一些平台。我们选择用自己的域名和虚拟主机,来自己开发。在域名和虚拟主机...
  • 为帮助开发者更方便、更安全地开发和调试基于微信的网页,微信推出了 web 开发者工具。它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方便地在 PC 或者 Mac 上进行开发和调试工作。你可以...
  • 开发者模式,使用微信提供的接口,将用户的请求通过微信平台转发到开发者的应用程序中。   在开发者模式中,微信平台更像是一个中转站,在用户与开发者直接传递消息。开放公众号的更多功能。 准备 一台拥有公网...
  • 只能在微信里打开?小样,图样图森破,限制了oauth、微信浏览器内打开,照样能看你源码~ 使用fiddler来抓包 需要先做一些简单的准备工作: 一台带有无线网卡的PC或者笔记本电脑,然后将电脑和手机连接到同...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 原因:pc端微信浏览器不支持es6,而代码中使用了...1,h5微信页面在手机微信端和微信web开发者工具中都能正常显示,但是在pc端微信浏览器上打不开(显示空白) - Alonge的博客 - CSDN博客https://blog.csdn.net/m0_3...
  • 微信支付本地调试

    2018-11-05 18:46:12
    微信支付本地调试
  • 在完成微信小程序后的真机调试 本项目采用的apache服务器+php+mysql作为小程序后台的开发环境,在开发工具中完成调试结束后,想利用真机调试查询结果失败后,总结需要改的过程如下: 首先 需要修改小程序中wx....
  • 运行natapp,得到网址 ... ... 一般来说都是虚拟主机方式运行每一个单独的项目,在webserver 中要将域名添加进去....或者直接在隧道配置处修改Host Header ...配置好,需要重启nginx,浏览器运行...
  • 微信公众平台接口调试工具中测试图片消息没有问题,但是在APP中就显示出现故障。 **后台:** /* * 接收图片消息 */ private function receiveImage($object) { $result = $this->transmitImg($object); ...
1 2 3 4 5 ... 20
收藏数 4,833
精华内容 1,933