zoukankan      html  css  js  c++  java
  • VS.PHP 调试错误:Apache Http server已停止工作

    这几天可能是WIN7升级了一下补丁,本来能正常调试的VSPHP和VS2010出现了下面这个问题。

    先在网上找到下面这个文章:

    (转自:http://hi.baidu.com/413905282/blog/item/941742088cd803c33ac76378.html

    vs.php中使用apache或IIS7进行外部调试

    1、解决vs.php2.7在Windows7下调试apache出错的问题 
    vs.php默认使用内部调试模式,由于vs.php2.7默认自带的内部调试的apache和php版本比较低, 
    在Windows7中运行的时候会产生不兼容的情况,具体表现为apache出错退出,解决办法: 
    改变安装目录中的apache.exe在兼容模式下运行 
    我这边是C:\Program Files\Jcx.Software\VS.Php\2008\2.7\Apache2\bin\apache.exe,兼容模式 
    选择是Windows2003

    2、vs.php使用IIS7进行外部调试 
    很遗憾,我测试了很多次都没有成功,截止到Xdebug 2.1.0beta2对IIS7支持不好,不管是采用ISAPI还是FASTCGI模式, 
    都没办法进行断点调试。 
    附网上的方法,其实这种方法是没办法进行断点调试的,只是看上去很美好罢了: 
    右击项目,选择“属性”,在“属性”页里选中Debug,更改里面的Debug mode为“External mode”。 
    设置Debug engine为“XDebug”。最后再把Start Url改为IIS下设置的PHP项目首页文件, 
    如:“http://localhost:8080/vsphp/index.php”。(注:我在 IIS7下专门为PHP新建了一个端口为8080的网站)

    3、vs.php中使用外部的apache进行调试 
    一般phper们都会有自己配置好的开发调试环境,那么如何在vs.php中使用自己已经配置好的apache+php环境调试 
    php程序呢?如下: 
    (1)从官方网站http://xdebug.org/download.php下载最新的xdebug.dll(记得改成这个文件名)放到你的php目录的ext目录下 
    根据你的php的thread-safe模式,选择相应的版本,查看方法phpinfo()的Thread Safety的值, 
    我用的php是5.2.12,Thread Safety为enable,所以我下载的是 5.2 VC6 (32 bit) 
    (2)修改php.ini文件,加入下面的代码 
    zend_extension_ts=”D:\Server\server_core\php-apache\ext\php_xdebug.dll”

    ;;;;;;;;;;;;;;;;;;; 
    ; Module Settings ; 
    ;;;;;;;;;;;;;;;;;;; 
    [XDebug] 
    xdebug.idekey = vsphp 
    xdebug.remote_enable = 1 
    xdebug.remote_port = 7870 
    xdebug.remote_autostart = 1

    (3)在vs里右击项目,选择“属性”,在“属性”页里选中Debug,更改里面的Debug mode为“External mode”。 
    设置Debug engine为“XDebug”。最后再把Start Url改为你已经配置好的apache+php环境的项目首页网址 
    (4)重启apache服务器

    4、注意!xdebug和zendoptimizer不兼容,所以在开启xdebug调试的时候请务必在php.ini里关闭zendoptimizer,如下前面加上分号即可 
    [Zend] 
    ;zend_extension_manager.optimizer_ts=”D:\Server\server_core\zendoptimizer\lib\Optimizer-3.3.0″ 
    ;zend_extension_ts=”D:\Server\server_core\zendoptimizer\lib\ZendExtensionManager.dll” 
    如果xdebug生效的话,你可以在phpinfo()里看到 
    with Xdebug v2.1.0beta2-dev, Copyright (c) 2002-2010, by Derick Rethans 
    等字样。

    按照第一个方法,试了一下,晚上试好像好了,早上起来了又试,又坏掉了,改了几种兼容模式,都不行了。

    后来又尝试改了一下配置,最后改成如下,就好了。没有更改兼容模式了。

    主要的区别是将Debug engine从Xdebug改为了DBG.

    成功,虽然不知道原因是什么,先记下来备忘再说了。

    转载:

    http://www.cnblogs.com/hurner/archive/2011/04/02/2002895.html

  • 相关阅读:
    PHP数组(数组正则表达式、数组、预定义数组)
    面向对象。OOP三大特征:封装,继承,多态。 这个讲的是【封存】
    uvalive 3938 "Ray, Pass me the dishes!" 线段树 区间合并
    LA4329 Ping pong 树状数组
    HDU 1257 最少拦截系统
    HDU 1260 Tickets
    codeforce 621D
    codeforce 621C Wet Shark and Flowers
    codeforce 621B Wet Shark and Bishops
    codeforce 621A Wet Shark and Odd and Even
  • 原文地址:https://www.cnblogs.com/hejunrex/p/2415309.html
Copyright © 2011-2022 走看看