zend studio 远程调试 php
一、配置SFTP
功能简介:
在zend studio 里开发PHP项目,修改*.php文件后自动同步修改服务器端对应*.php文件( 应该是任意格式的对应文件,不仅仅是php )
告别需要点击esftp插件才能将文件上传到服务器端的历史,提高开发效率
配置流程:
1.本地和服务器部署项目代码
2.zend studio配置ssh/ftp
3.测试通过
开干:
1.先在zend studio新建/导入你自己的项目(该项目需要和服务器上的目录结构对应,服务器部署代码略)
2.在php explorer窗口(即项目代码窗口)鼠标右键某php项目
-->properties
-->remote server support
-->选择 enable remote connection properties
-->manage
host name: 设置连接备注名称
system type:ssh/ftp
-->finish
-->host name: 服务器ip port:端口号
username: 帐号
password:密码
initial directory: 服务器项目代码对应路径 (例如:/var/www/html/项目名称) // 路径一定要已经存在,填写正确,否则也会报连接失败
-->test connection 测试一下联通性 成功返回 connection successful
-->finish
project directory: / (相对路径,一般为/) // 路径一定要已经存在,填写正确
upload files: on save (保存本地php时同步到服务器)
--> 当服务器没有代码时可以选择yes将本地代码全部上传到服务器,服务器上已经部署代码选择no
-->搞定
3.测试打开你项目下任意一个php 写任意内容进去保存,然后到服务器上对比这个文件是否同本地一致即可。
补充注意事项:
1. 8.0的ssh或ftp第一次使用时默认同步全部目录,你不选择同步全部目录就可以了
这样就不用全部目录同步了,以后你保存某一个文件才同步2. 8.0针对你有一台开发机的时候效率非常高
3. 不建议当作上线工具使用,网络出现问题时候需要多试几次 test connect 就可以了
zend 8.0和6.0 死机的情况主要有一下几点
1. 上传文件到服务器过程时, 网络不稳定出现丢包情况
2. 上传文件到服务器过程时, 电脑某程序突然消耗太多内存比如某些程序更新
3. 上传a文件到服务器过程时, 你又重复保存a或上传a文件
不喜欢用zend的可以用 secure CRT 在ssh下直接用 vi 编程,手熟以后远比zend效率高,因为在机房或者Linux环境下没人给你装zend
二、结合Zend Debugger进行php代码的远程调试
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
7. 重启apache
8. 使用php –m 命令或者利用网页查看phpinfo,看Zend Debugger扩展是否已经安装成功。
9. 打开Zend Studio 8.0,选择Run->Debug URL,输入远程虚拟主机的URL,例如http://www.abc.com/(提前把windows的host文件修改好),勾选break at the first line,点击Debug,这样,代码就自动停到第一行了。