winxp[sp2]下Apache无法正常使用实战得出的解决办法

 更新时间:2016年11月25日 15:29  点击:2145
最近准备搞几个PHP的网站,于是需要在自己的电脑里装个PHP的服务器,已经很久没碰PHP,apache,mysql这些东西了所以就偷个懒直接下在个套装软件叫appserv,它可以一次性的在你的机器中安装php,mysql,apache,zend,phpmyadmin软件,非常的方便,而且有多种组合方式,详细可以去他的网站去了解.因为很早以前就用过这个软件,都是象软件一样安装好就可以用了的,可这次确遇到了个大麻烦.我先是下载了
AppServ 2.5.3 这个版本.我的系统是win xp sp2 版本
# PHP 5.0.3
# Apache 2.0.52
# MySQL 4.1.8
# Zend Optimizer 2.5.7
# phpMyAdmin 2.6.1-rc2
安装好后发现硬盘灯狂闪,电脑变的非常的慢.根本无法正常使用.看进程发现有两个apache进程,有一个是时不时的跳出来占用大量的CPU资源,没办法只好强行停止.以为是apache2.0与XP系统冲突,就又下载了AppServ 2.4.3
# PHP 4.3.10
# Apache 1.3.33
# MySQL 4.1.8
# Zend Optimizer 2.5.7
# phpMyAdmin 2.6.1-rc2
安装之后发现apache根本无法启动. 查看log文件显示
error.log:
[Sat Aug 06 22:47:12 2005] [crit] (10022)提供了一个无效的参数。: setup_inherited_listeners: WSASocket failed to open the inherited socket.
于是google一下,找到了一篇文章 "Win[sp2]下Apache无法正常工作的解法办法"
http://blog.chinaunix.net/article.php?articleId=36486&blogId=8054 引用
Apache SP2 启动 CPU setup_inherited_listeners
系统:Windows[sp2]
-----------------------------------------------
软件:Apache 1.3*
现象:无法启动,在服务里启动报告 ”服务启动后被自动关闭....“
Errlog:
[Mon Jul 18 12:48:24 2005] [crit] (10022)提供了一个无效的参数。: setup_inherited_listeners: WSASocket failed to open the inherited socket.
-------------------------------------------------------------------------------------------------------------
软件:Apache 2.0.*
现象:能正常启动,但大量占用CPU,不释放内存,(由于一直尝试运行子进程,可在任务管理器里看到经常现两个apache进程)用127.0.0.1访问没反应
Errlog:
[Mon Jul 18 04:07:28 2005] [notice] Server built: Feb 10 2005 06:11:34
以下文字是由于小弟看到最近论坛上有关此类问题很多而写,还请各位多指教!!!

在本站的常见问题中已经有了怎样去掉PHP4的一些多余信息的解答,但是严格来说这些信息分成两部分:一部分是指明PHP正在运行的消息,就是那些什么X-POWERED-BY之类的;还有一部分是申明了该文件的默认内容形式text/html。常见问题中的解答解决了前一部分问题(只要在相关行加注就OK了),但是论坛上更多的是关于后一部分的问题,我想就这个问题探讨一下。
 
最开始要申明的是这样的情况很可能出现在PHP以CGI方式运行的时候,那么小弟猜想大部分是WIN32平台出错。
 
首先,一个最极端的解决方法就是,将所有扩展模块注释掉,即在php.ini中将那些关于数据库、图形、MAIL等等扩展模块均申明不加载,部分php.ini文件类似如下的形式:
;Windows Extensions
;extension=php_mysql.dll
;extension=php_nsmail.dll
;extension=php_calendar.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
;extension=php_gd.dll
;extension=php_dbm.dll
;extension=php_mssql.dll
;extension=php_zlib.dll
;extension=php_filepro.dll
;extension=php_imap4r2.dll
;extension=php_ldap.dll
;extension=php_crypt.dll
;extension=php_msql2.dll
;extension=php_odbc.dll
那么如果需要这些模块怎么办?小弟我的解决办法只有在相应页面动态加载,即dl()上去——以前小弟我还寻思这个函数有什么用,现在,哈哈。。。如果各位有什么好办法,也可以张贴出来和大家分享!
其次一个解决的办法是利用PHP的-q参数,按照PHP自己的说法是“Suppress HTTP Header Output”即禁止HTTP头输出。这样倒是一了百了,但是你的任何header()和setcookie()都无用了——嘿嘿,你的PHP就基本报废。所以那,这只是一个龌鹾的办法了。
 
好了,就说这么多,应该可以解决CGI方式运行的PHP的以上问题了。以上资料综合了www.faqts.com的有关PHP部分——那个地方可以顶级的提问地盘了,经常有PHP/ZEND的撰写者和一些PHP书籍的作者回答你的问题,多棒阿!!!


  配置过程:
  
  (一)http.conf
  把PHP直接作为apache的一个模块运行:
  LoadModule php5_module "C:/php/php5apache2.dll"
  AddType application/x-httpd-php .php
  
  在Apache目录下建立了一个www的目录用于存放站点文件,在http.conf里:
  把DocumentRoot "D:/Apache2/htdocs"改成了DocumentRoot "D:/Apache2/www"
  直接列目录:
  Options FollowSymLinks
  AllowOverride None
  改为:  
  Options Indexes FollowSymLinks
  AllowOverride None
  设置默认字符为中文简体:
  AddDefaultCharset GB2312
  重新启动apache
  
  (二)php.ini  
  把php.ini-dist复制到C:windows 下改名为 php.ini
  extension_dir = "C:phpext"   
去掉以下分号,以支持mysql:
  ;extension=php_mysql.dll
  把php目录下的 libmysql.dll 和 libmysqli.dll 复制到windows/system32下。
  重新启动apache
  
  (三)Mysql  
  安装Mysql:  
  然后浏览“http://localhost/phpmyadmin”

UNIX下的PHP环境配置
所需软件php-3.0.14-win32.zip    
php-3.0.14-win32.zip    
mysql-shareware-3.22.32-win.zip 
所有软件均安装在/export/home/guoj/下,也可在其他目录。
安装mysql
gzip -dc mysql-3.22.30.tar.gz | tar xvf-
cd mysql-3.22.30
./configure -prefix= /export/home/guoj/mysql
make
make install
scripts/mysql_install_db
cd../mysql/bin
bin/safe_mysqld &
安装php+apache
gzip -dc apache_1.3.11.tar.gz | tar xvf-
gzip -dc php-3.0.11.tar.gz | tar xvf-
cd apache_1.3.11
./configure -prefix= /export/home/guoj/www
cd ../php-3.0.11
./configure -with-apache= /export/home/guoj/apache_1.3.11
     -with-mysql= /export/home/guoj/mysql -enable-track-vars
make
make install
cd ../apache_1.3.11
./configure --prefix= /export/home/guoj/www
     --activate-module=src/modules/php3/libphp3.aP
make
make install
cd ../php-3.0.11
cd ../php3.ini-dist php3.ini
vi php3.ini
修改php3.ini
 doc_root=/export/home/guoj/www/htdocs/
 extension_dir=/export/home/guoj/php-3.0.11/
 extension=php3_mysql.dll
cp php3.ini/usr/local/lib/php3.ini
vi ../www/conf/httpd.conf
     加上以下几句:
 AddType application/x-httpd-php3 .php3
 <Directory "/export/home/guoj/php-3.0.11/">
  Options FollowSymLinks
  AllowOverride None
 </Directory>
../www/bin/apachectl start

有些功能(例如用户验证)要求 PHP 必须以 Apache 模块方式安装,
如果你不知道如何安装,那么下面这些就是你需要知道的。
 
节选自 php 的 install.txt
 
首先你需要将 php4ts.dll 拷到 windows/system (对于 Windows 9x/Me)
或者 winnt/system32 (对于 Windows NT/2000) 目录,覆盖之前的文件。
然后将下面两行添加到 Apache 设置文件(httpd.conf)
 
 LoadModule php4_module c:/php/sapi/php4apache.dll
 AddType application/x-httpd-php .php
 
记得要重新启动服务器才能生效,例如
 NET STOP APACHE
接着
 NET START APACHE
 
之后查看 phpinfo(),如果 Server API 显示为 Apache 既已经运行在
模块方式下。


[!--infotagslink--]

相关文章

  • PHP session_start()很慢问题分析与解决办法

    本文章来给各位同学介绍一下关于PHP session_start()很慢问题分析与解决办法,希望碰到此问题的同学可进入参考。 最近在做东西的时候发现一个问题 有一个接口挂...2016-11-25
  • php中json_decode()和json_encode()用法与中文不显示解决办法

    本文章介绍了关于php中json_decode()和json_encode()用法与中文不显示解决办法,有需要的朋友可以参考一下下。 php中json_decode()和json_encode() 1.json_decode(...2016-11-25
  • phpexcel导出数据身份证后四位0000解决办法

    在php中我们如果要导入excel数据我们通常会使用phpexcel插件了,但是有朋友会发与使用phpexcel导出数据出现身份证后四位是0000情况了,下面我们就来看解决办法。 最...2016-11-25
  • 401错误码代表什么 401错误解决办法

    401是HTTP状态码的一种,属于“请示错误”,表示请求可能出错,已妨碍了服务器对请求的处理。具体的401错误是指:未授权,请求要求进行身份验证。登录后,服务器可能会返回对页面...2017-01-22
  • apache网站提示503错误解决办法

    Apache status 503 的原因大致有如下几种情况 : 1、 CPU 负载过高,服务器响应不过来,返回503 2、 系统连接数超限,超过MaxVhostClients的上限,返回503 3、 单IP连接数超限,超过M...2016-01-28
  • 图解PHP使用Zend Guard 6.0加密方法教程

    有时为了网站安全和版权问题,会对自己写的php源码进行加密,在php加密技术上最常用的是zend公司的zend guard 加密软件,现在我们来图文讲解一下。 下面就简单说说如何...2016-11-25
  • Perl CPAN::Modulelist的解决办法

    今天用CPAN安装Term::ReadLine,报了个这样的错误 Going to read /root/.cpan/sources/modules/03modlist.data.gz Can't locate object method "data" via package "C...2016-11-25
  • ps怎么使用HSL面板

    ps软件是现在很多人都会使用到的,HSL面板在ps软件中又有着非常独特的作用。这次文章就给大家介绍下ps怎么使用HSL面板,还不知道使用方法的下面一起来看看。 &#8195;...2017-07-06
  • Plesk控制面板新手使用手册总结

    许多的朋友对于Plesk控制面板应用不是非常的了解特别是英文版的Plesk控制面板,在这里小编整理了一些关于Plesk控制面板常用的使用方案整理,具体如下。 本文基于Linu...2016-10-10
  • phpStudy访问速度慢和启动失败的解决办法

    下面给大家介绍phpstudy访问速度慢的解决办法。1、修改mysql数据库链接地址为ip地址127.0.0.1。2、使用最新版本,这个坑了我好久时间。下面一段内容是关于phpstudy启动失败的解决办法。php5.3、5.4和apache都是用vc9编...2015-11-24
  • 使用insertAfter()方法在现有元素后添加一个新元素

    复制代码 代码如下: //在现有元素后添加一个新元素 function insertAfter(newElement, targetElement){ var parent = targetElement.parentNode; if (parent.lastChild == targetElement){ parent.appendChild(newEl...2014-05-31
  • PHP Curl出现403错误的解决办法

    自己用的小PHP应用,使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题,访问google baidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果...2014-05-31
  • 使用GruntJS构建Web程序之构建篇

    大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
  • 使用percona-toolkit操作MySQL的实用命令小结

    1.pt-archiver 功能介绍: 将mysql数据库中表的记录归档到另外一个表或者文件 用法介绍: pt-archiver [OPTION...] --source DSN --where WHERE 这个工具只是归档旧的数据,不会对线上数据的OLTP查询造成太大影响,你可以将...2015-11-24
  • 如何使用php脚本给html中引用的js和css路径打上版本号

    在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css、js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css、...2015-11-24
  • jQuery 1.9使用$.support替代$.browser的使用方法

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.9。 如果要全面支持 IE,并混合...2014-05-31
  • C#注释的一些使用方法浅谈

    C#注释的一些使用方法浅谈,需要的朋友可以参考一下...2020-06-25
  • MySQL日志分析软件mysqlsla的安装和使用教程

    一、下载 mysqlsla [root@localhost tmp]# wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz--19:45:45-- http://hackmysql.com/scripts/mysqlsla-2.03.tar.gzResolving hackmysql.com... 64.13.232.157Conn...2015-11-24
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • php语言中使用json的技巧及json的实现代码详解

    目前,JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它。我写过一篇《数据类型和JSON格式》,探讨它的设计思想。今天,我想总结一下PHP语言对它的支持,这是开发互联网应用程序(特别是编写API)必须了解的知识...2015-10-30