phpDesigner调试代码出现内存不能为"read"的问题解决办法

phpDesigner是一款优秀的PHP集成开发工具,被phper广泛使用,有些用户在使用它调试代码时出现xxx指令引用的xxxx内存 该内存不能为"read",或者出现英文的不能开启eAccelerator模式,遇到这样的问题时不知所措,特别是使用一些快捷php环境搭建工具时更可能遇到,比如phpStudy环境搭建工具。其实出现此问题的原因在于eAccelerator,只要不加载即可避免此问题,eAccelerator是一个PHP加速程序,缓存php编译后的代码到共享内存,下次访问时直接读取不用再次编译从而提高性能,它位于php安装目录的ext文件夹里面,文件名为:eAccelerator.dll,一般开发环境无需加载它,取消加载如下过程:

打开php的配置文件php.ini,将里面的

[eaccelerator]
extension="eaccelerator.dll"
eaccelerator.shm_size="128"
;eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"

等和eAccelerator有关的选项前面全部加上“;”,保存后重新启动服务器即可,

这样还并不能保证您的phpDesigner就能调试代码,还需要加载XDebug及安装WinCacheGrind

XDebug是php的一个调试工具,WinCacheGrind是解析XDebug输出的分析文件的一个win平台的查看工具

过程如下:

http://www.xdebug.com/download.php下载XDebug,这里分线程安全和非线程安全,如果你不知道该下载哪一个,请把phpinfo()函数输出的全部内容复制提交到http://xdebug.org/find-binary.php则XDebug网站会告诉你该下载哪一个,下载好后将它放入PHP\ext目录,我这里下载下来的是php_xdebug-2.2.3-5.3-vc9-nts.dll

然后打开php的php.ini,在最后添加:

[XDebug]
zend_extension = .\ext\php_xdebug-2.2.3-5.3-vc9-nts.dll
xdebug.auto_trace=1
xdebug.collect_params=1
xdebug.collect_return=1
xdebug.trace_output_dir="C:/phpStudy/xdebug/"
xdebug.profiler_enable=1
xdebug.profiler_output_dir=C:/phpStudy/xdebug/profiler

保存重启服务器,XDebug便安装完毕,phpinfo()将显示它的相关信息,

我这里输出分析文件到C:/phpStudy/xdebug/profiler 这个你可以自定义,

好了 ,最后要做的是ctrl+e打开phpDesigner的配置,在调试里面配置WinCacheGrind地址,OK 按F9开启调试,xdebug输出分析文件到设置的目录,

WinCacheGrind打开分析文件,就可以看到程序运行的过程及所耗的时间了

本文由yunke【云游天下,做客四方】原创,有不清楚的地方请回复

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值