zoukankan      html  css  js  c++  java
  • APMServ5.2.6win10系统Apache、MySQL5.1启动失败解决办法

        今天想在本地测试网站源码能否正常运行,如果可以就转空间了,然而下载了APMServ之后发现系统Apache、MySQL5.1启动均失败,小白的人表示只能借助百度,用了一个小时的时间终于解决了,虽然坎坷,但还是欣慰,为了防止以后再发生类似的事情到处百度,还是决定把解决办法记录下来。

        首先,在电脑左下角找到“运行”程序,输入“regedit”打开系统注册表
        找到:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTP,点击HTTP后在右侧可以找到Start
        选中“Start”,右键,点击”修改“,将默认值(一般都是3)修改为0.
        点击确定,然后重启电脑。
        到这里,重启APMServ,显示的是Apache启动失败,请检查相关配置,而MySQL5.1启动成功。接下来需要做的是
        1、找到Apache文件夹找到Apacheconfextrahttpd-ssl.conf
        2、httpd-ssl.conf用记事本打开
        3、用记事本的查找功能  查找/cgi-bin
        4、 改为
        注意是这样的这行代码之前是定位到E盘而我的电脑是没有E盘的只有C盘,所以路径是不对的,我改成了C盘。然后再以管理员身份重启APMServ,成功了。
     
    注:如果不行依次做下列方法(做一次启动一次服务器)

    解决办法之一: 
    把左下角的SSL钩上了,如果你没有用证书,就把那个去掉,有的朋友去掉就可以了。也可能再装了证书钩上SSL也可以用了。

    解决办法之二: 
    看了说的把SSL勾掉的办法,也解决不了。后来就去查卡巴,也没看到有什么设置影响;用APM自带的一个解决软件冲突的功能,执行后问题依然。怀疑是不是APM所在的文件夹的父文件夹是中文的,对它有影响,删掉重建,还是不行。 检查操作系统“设置 - 管理工具 - 服务” 里面的选项,有一个Telnet选项被禁止了,这才想起来安装XP之后,担心安全问题,所以把远程协作给关掉了,估计因此把Telnet的功能就给禁止了,所以现在赶紧把它设置成手动开启。 开启Telnet后,再启动APMServ5.2.0,也可能就正常。

    解决办法之三: 
    建议不要经常加载和卸载今天在调试添加虚拟主机和虚拟目录时,忽然发现重启APMServ有问题,总是不能加载Apache,觉得很奇怪,因为昨天以及解决了这个问题我以为。在论坛里看了一下,有建议说不要频繁重启APMAerv,于是卸载,关机。过了一会儿开机,首先开APMServ,发现正常了。而且,发现昨天设置的Telnet,其实现在根本尚未手动启动。 
    得出结论:
    1、昨天帖子不准确,虽然昨天调整TELNET与启动正常有关系,但今天没关系,原因不清楚;(今天把远程协作打开了,可能有关联)
    2、APMServ频繁启动关闭的确不太好,容易造成加载不正常。

    解决办法之四: 
    是不是安装在了带中文的目录了,这个程序不能使用中文目录的。如果是,删掉重新装一下。

    解决办法之五: 
    1、可以尝试将PHP的安装目录设置为系统的环境变量:右键点击“我的电脑”-“属性”-“高级”-“环境变量”-“系统变量”,修改Path,加上“D:APMServ5.2.6PHP;D:APMServ5.2.6PHPext”路径。
    注意用英文分号;进行分隔,同时上面的“D:APMServ5.2.6PHP;D:APMServ5.2.6PHPext”是我的安装路径,记得换成你的路径。
    2、或者把需要用到的dll复制到操作系统的System32文件夹中。即把PHP和PHPext下面的.dll文件拷到C:WINDOWSsystem32文件夹中。

    解决办法之六: 
    上面5个办法还是解决不了,而php.ini里的extension_dir配置是正确的,还是不行的话,可能是以前在本机安装过PHP,有一些残留文件,windows PATH变量或拷贝到C:WINDOWSsystem32下的dll文件被Apache优先加载了,而没有加载应该加载的APACHE目录中的dll,
    注意:windows加载dll文件的顺序是按系统环境变量PATH里指定的目录的先后来的,一般是%SystemRoot%system32;%SystemRoot%,在安装Apache+PHP的时候如果出现“Unable to load dynamic library”错误,但配置文件又是正确的情况下,一定要注意这些目录下有没有当前PHP版本需要使用的dll不同版本的同名文件。

    解决办法之七:
    按上面6个办法改了又试,试了又改,也弄了n次仍然不行,点击"Apache设置(A)-查看运行日志(E)",发现下面的文字:
    PHP Warning: [eAccelerator] This build of "eAccelerator" was compiled for PHP version 5.2.6. Rebuild it for your PHP version (5.2.9) or download precompiled binaries. in Unknown on line 0
    PHP Fatal error: Unable to start eAccelerator module in Unknown on line 0

    由上面的日志可以清楚的判断到是php版本的原因。由于PHP version (5.2.6) 不会改动,所以问题就是eAccelerator编译时的版本要用5.2.9了。

    打开D:APMServ5.2.6endeAccelerator文件夹,马上可以看到eAccelerator.dll这个文件,再在文件夹D:APMServ5.2.6PHP下面搜索一下包含eAccelerator的关键字
    可以发现只有php.ini里面包含了eAccelerator.dll的引用。现在唯一的关键就是下载eAccelerator的5.2.9版本了,
    找了好久终于找到下载地址了:http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds,注意下载eAccelerator 0953 for PHP 5.2.9,不要下错了文件,下来后
    直接放到D:APMServ5.2.6endeAccelerator文件夹中,再到php.ini文件中把
    [eaccelerator]
    zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eAccelerator.dll"
    改为
    [eaccelerator]
    zend_extension_ts="D:/APMServ5.2.6/zend/eAccelerator/eAccelerator0953_5.2.9.dll"
    就可以了
    注意:上面的提到的相关路径依据你自己解压AMPServ时设置的路径,使用的系统是windows 2003 server。

  • 相关阅读:
    数据类型装换
    变量及数据类型
    27 网络通信协议 udp tcp
    26 socket简单操作
    26 socket简单操作
    14 内置函数 递归 二分法查找
    15 装饰器 开闭原则 代参装饰器 多个装饰器同一函数应用
    12 生成器和生成器函数以及各种推导式
    13 内置函数 匿名函数 eval,exec,compile
    10 函数进阶 动态传参 作用域和名称空间 函数的嵌套 全局变量
  • 原文地址:https://www.cnblogs.com/Im-Victor/p/9292109.html
Copyright © 2011-2022 走看看