• 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

  • 相关阅读:
    SpringBoot集成swagger后出现: Failed to start bean ‘documentationPluginsBootstrapper‘的解决方法
    [转]When allowCredentials is true, allowedOrigins cannot contain the special value “*“
    SpringBoot 集成Swagger后提通过http://localhost:8001/swaggerui.html#/访问得不到页面
    C#窗体开发
    如何查看一个域名所对应的IP地址?
    Vetur can't find `tsconfig.json` or `jsconfig.json` in XXX
    npm 搜索
    查看android 中sqlite数据库的表,发现没有表结构和数据问题
    Another Intro for Cookies
    TypeScript Crash Course: Property Access Modifiers
  • 原文地址:https://www.cnblogs.com/hejunrex/p/2415309.html
Copyright © 2020-2023  润新知