开发者社区> 问答> 正文

zend studio怎么远程调试php?

最近在开发微信公众帐号,用zend studio开发PHP服务器与微信服务器交互,
服务器就在本机上,使用xdebug本地调试没问题,
问题是微信服务器远程来调用本地服务器时,这种情况下该怎么调试?

展开
收起
小旋风柴进 2016-03-09 08:56:35 2395 0
1 条回答
写回答
取消 提交回答
    1. 下载并安装Zend Studio到Windows。例如Zend Studio 8.0。
    2. 下载Zend Debugger到Linux。注意,区分系统,有32位和64位的。
    3. 展开压缩包,例如,tar –zxvf ZendDebugger-5.2.15-linux-glibc23-x86_64.tar.gz
    4. 使用phpinfo查看php版本,根据php版本进入对应的目录。例如,php的版本是5.2.5,那么进入5_2_x_comp/。找到ZendDebugger.so,复制到zend可以访问的目录,例如`/usr/lib64/php/modules/。
    5. 将dummy.php文件复制到Apache虚拟服务器的根目录下。如果有多个虚拟主机,每个虚拟主机的根目录下面都要放。
    6. 找到系统中的php.ini文件。注意,可能有不止一个php.ini文件,注意区分。例如,在我的系统中,/usr/local/php/lib/php.ini是有效的,而/etc/php.ini却是无效的。sudo vim php.ini,在最后添加几行:
    [Zend Debugger]
    zend_extension="/usr/lib64/php/modules/ZendDebugger.so"
    zend_debugger.allow_hosts=127.0.0.1/32,192.168.33.72/24
    zend_debugger.expose_remotely=always

    网上找的说明:
    加载调试器
    zend_extension=<full_path_to_ZendDebugger.so>
    配置授权列表
    zend_debugger.allow_hosts=<host_ip_addresses>
    IP地址可以使用CIDR格式,也可以使用前缀式
    多个IP地址之间使用<strong>逗号</strong>分隔
    配置远程授权(如果你希望Zend Studio Browser Toolbar可以判断哪些网页可调试,才设置此项)
    zend_debugger.expose_remotely=always
    有效值可以是:always, never, allowed_hosts

    1. 重启apache
    1. 使用php –m 命令或者利用网页查看phpinfo,看Zend Debugger扩展是否已经安装成功。
    2. 打开Zend Studio 8.0,选择Run->Debug URL,输入远程虚拟主机的URL,例如http://www.abc.com/(提前把windows的host文件修改好),勾选break at the first line,点击Debug,这样,代码就自动停到第一行了。
    2019-07-17 18:55:16
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载