apache-2.2
对 httpd.conf 增加如下设置:
1.模块方式运行php
LoadModule php4_module "E:/work/php-4.4.6-Win32/sapi/php4apache2_2.dll"
<IfModule php4_module>
AddType application/x-httpd-php .php
</IfModule>
/ this is not needed
<Directory "E:/work/php-4.4.6-Win32">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
/
apache-2.2和php-4.4.6-Win32组合有一个小bug,即不能以模块的方式加载php4apache2.dll,
参见http://www.devside.net/articles/windows/php-apache22
可以去http://www.apachelounge.com/download/ 下载一个新的php4apache2_2.dll模块
2.cgi方式运行php
ScriptAlias /php/ "E:/work/php-4.4.6-Win32/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
解决XP sp2下apache不能启动的问题:(折腾了我几个小时,这里给出解决办法,以供参考!)
启动apache2.2 service monitor提示错误the requested operation has failed!
分类:默认栏目
第一步
在网上邻居–> 本地连接–> Internet Protocol (TCP/IP)–> 属性–> 高级–> WINS–> 把启用LMhosts搜寻 关掉!
第二步
控制面板–> 安全中心—> windows防火墙中–> 高级–> 网络连接设置–> 设置–> web服务器(HTTP) 选项打上对勾
配个自己的www服务器并不难。本文即为我配置的手记,WinXPSP1下配置完成,SP2
和Win2003下也没问题,希望对大家有所帮助。
所需工具:
1、apache_2.0.52-win32-x86-no_ssl.msi
2、mysql-4.0.22-win.zip
3、php-5.0.2-Win32.zip
下载:缘网有,地址为:
apache:http://10.14.91.104/Soft/netsoft/server/200410/425.html
mysql:http://10.14.91.104/Soft/database/MySQL/200411/576.html
php:http://10.14.91.104/Soft/program/PHP/200410/446.html
由于版本更新很快,所以最好是安装最新的版本。另外,apache分1.3和2.0系列,
企业级应用推荐用1.3系列,普通应用可以选2.0系列;mysql分4.0和5.0系列,后者
善不成熟,所以推荐前者,最新版本为4.0.22;php分4.3和5.0系列,企业级应用推
荐用4.3系列。这里用了apache2,mysql4,php5。php4的安装方法跟这个差不多,
不过因为php4默认支持mysql,所以就不要配置mysql模块了。后面有说明。
一、安装Apache
这个比较简单,跟安装一般的软件没什么区别,只要在domain处填上你申请的
域名(如diogin.3322.org,两个都填一样,无所谓的,以后可以改),admin处填
上你的邮箱就行,80那个默认即可。我安装的路径为X:(X的值随你改),软件自
动生成一个目录Apache2,所以安装的绝对路径为X:Apache2。安装过程中如果你有
防火墙,注意让Apache永久通行。
接下来在X:下新建一个wwwroot的文件夹,用来存放网页文件。进入Apache2
conf目录,配置httpd.conf文件,这个是Apache启动时读取数据的文件,正确配置
有助于更有效地利用Apache的性能。先暂时按如下配置(利用查找功能找项,后面
的参数已经过我的修改,//部分为解释,不要加。“#”代表将该行为注释):
1) DocumentRoot "X:/wwwroot" //这里配置网页文件存放目录,默认为htdocs
2) <Directory "X:/wwwroot"> //这项在上一项下不远,配置wwwroot文件夹属性
3) DirectoryIndex index.htm index.php //首页文件定义,按顺序出现
4) ServerTokens Prod //隐藏Apache版本
5) ServerSignature Off //安全起见,关掉Signature
//接下来,找到如下一大段(原文中每行未加#号),在每行前加上#号,主要为了
减少安全麻烦:(其实是一些虚拟路径,没什么用。如果你要用CGI,注意保留CGI
部分设置不注释掉)
6)
Alias /icons/ "G:/Apache2/icons/"
<Directory "G:/Apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
This should be changed to the ServerRoot/manual/. The alias provides
the manual, even if you choose to move your DocumentRoot. You may comm
ent
this out if you do not care for the documentation.
AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.)?$ "G:/Apache2/man
ual$1"
<Directory "G:/Apache2/manual">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
<Files .html>
SetHandler type-map
</Files>
SetEnvIf Request_URI ^/manual/(de|en|es|fr|ja|ko|ru)/ prefer-languag
e=$1
RedirectMatch 301 ^/manual(?:/(de|en|es|fr|ja|ko|ru)){2,}(/.*)?$ /ma
nual/$1$2
</Directory>
ScriptAlias: This controls which directories contain server scripts.
ScriptAliases are essentially the same as Aliases, except that
documents in the realname directory are treated as applications and
run by the server when requested rather than as documents sent to the c
lient.
The same rules about trailing "/" apply to ScriptAlias directives as to
Alias.
ScriptAlias /cgi-bin/ "G:/Apache2/cgi-bin/"
"G:/Apache2/cgi-bin" should be changed to whatever your ScriptAliased
CGI directory exists, if you have that configured.
<Directory "G:/Apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
7) AddDefaultCharset GB2312 //设置默认编码为gb2312
至此,基本的服务器配置完成。右击任务栏里的Apache图标,选Open Apache Moni
tor,restart一下。进入X:wwwroot,新建一个index.htm文件,写入以下代码:
<html>
<head>
<title>test</title>
</head>
<body>
测试一下
</body>
</html>
保存。打开浏览器,输入:http://你的IP或域名/index.htm,如果显示出“测试一
下”的页面,则安装成功。此时的Apache只支持静态网页,如果想支持php的话则继
续看下去,不想的话可以把此文扔在一边了。
二、安装PHP
首先解压php-5.0.2-Win32.zip到X:目录下,改文件夹名为php,即解成X:ph
p目录。然后将php目录下的php5ts.dll和libmysql.dll(php5不默认带mysql模块,
所以需要这个dll文件)复制到X:Apache2bin目录下。返回X:Apache2conf目录
,打开httpd.conf,查找“ServerRoot "X:/Apache2"”,在下一行添加:
PHPIniDir "X:/php"
查找“#LoadModule ssl_module modules/mod_ssl.so”,在下一行添加:
LoadModule php5_module "X:/php/php5apache2.dll"
查找“AddType application/x-gzip .gz .tgz”,在下一行添加:
AddType application/x-httpd-php .php
以让Apache能找到php目录下的php.ini并支持php文件。然后回到php目录,把php.
ini-recommended改名为php.ini。接下来回到X:wwwroot目录下,新建一个index.
php文件,用记事本等文本编辑器打开,写入如下代码:
<?php
echo "hello, world!";
?>
保存。重新启动apache,然后打开浏览器,输入:http://你的IP或域名/index.ph
p,如果显示出“hello, world!”的页面,则安装成功。接下来回到php目录配置p
hp.ini文件(注意这里的注释符号是“;”):
1) magic_quotes_gpc = On //这个功能最好加上,传参数的时候加“”号
2) extension_dir = "X:phpext" //配置扩展目录
3) allow_url_fopen = Off //禁止以url传参数方式打开文件
4) extension=php_mysql.dll //前面的“;”号去掉,php5不默认带mysql模块
5) session.save_path = "X:phptmp" //设置session目录,同时在php目录下新
建tmp目录
再重启apache以重载php.ini,php安装并配置完成。
三、配置MySQL
解压mysql-4.0.22-win.zip到随便一个目录下,运行setup.exe进行安装,以t
ypical模式安装在X:mysql目录下。进入X:mysqlbin目录下,运行winmysqladmi
n.exe,会要求你输入用户名和密码。这是管理程序的密码,非数据库中root用户的
密码。设置过程中防火墙可能会跳出,此时要让mysql通行。完成后,任务栏里出现
红绿黄三色的mysql灯,绿色表示正常工作。右击灯选择Show me,弹出管理窗口,
点击my.ini setup中的Save Modification生成my.ini文件在windows目录下。然后
运行cmd进入命令行模式,输入:
cd X:mysqlbin
进入bin目录,再输入:
mysql -u root -p
回车,提示输入密码,由于root初始状态密码为空,直接按回车即可。进入mysql,
输入:
use mysql;
转向mysql库,输入:
delete from user where user=’’;
删除空用户。然后退出mysql:
quit;
修改root的密码:
mysqladmin -u root -p password 你的密码
会提示输入旧密码,回车,密码即改成你设置的密码。期间防火墙只要临时允许即
可。至此MySQL安装完成,回到wwwroot目录下,修改index.php文件为:
<?php
$conn=mysql_connect("localhost", "root", "你的密码");
if(!$conn) die("Errors occured!");
else echo "Success!";
mysqlclose($conn);
?>
返回浏览器,输入:http://你的IP或域名/index.php,如果显示出“Success!”的
页面,则MySQL安装成功。
OK,整个过程安装完成。配置比较简单和粗陋,以后逐渐完善后再修改一下这篇文
章,如有不妥之处还望大家指出,谢谢^^
http://www.phpe.net/articles/364.shtml
Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。
在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的 DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
使用正确版本的Windows首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
Apache 2:源码还是二进制?
如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。
如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。
双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。
图A
正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能 实际工作的服务器环境。
安装提示
建议将默认安装目录从C:Program FilesApache Group变成C:Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。
稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。
然 后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:InstallDirectoryApacheApache2htdocs中。 如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:
<html>
<head>title=default server page</head>
<body>Default server page</body>
</html>
让Apache 2为PHP做好准备
从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置 不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:InstallDirApache2LogsError.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会 记录到Windows事件日志中(开始| 设置| 控制面板| 管理工具| 事件查看器)。
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加 载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C: InstallDirApache2bin),在那里启动Apache。
Apache配置文件是C:ApacheApache2ConfHttpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
DirectoryIndex index.html index.html.var # index.php
为了允许Apache处理PHP页,要删除注释字符(#),变成:
DirectoryIndex index.html index.html.var index.php
还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。
安装PHP虽然可以下载PHP的源码,但和Apache 2一样,最好直接使用二进制发行包。Apache 2可采取2种方式来运行PHP程序:通过一个CGI接口来运行(外部调用Php.exe),或者使用PHP的DLL文件在Apache的内部运行。后一种 方式的速度较快。所以,针对每个版本的PHP,都会提供2个Windows二进制发行包。较小的是.msi包,它会安装CGI可执行程序Php.exe, 但其中拿掉了通过Apache DLL来运行PHP脚本所需的模块。较大的.zip包则包含了所有这些东西,你可以从snaps.php.net网站的Win32区域下载它们。文件下载完毕后,把它解压到C:Php(保留文件夹名称)。除非你有绝对的把握,请同时下载PHP手册,它有多种语言的版本可供选择。
配置Apache 2来运行PHP4现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:PhpDlls目录中的所有DLL文件拷贝到Windows的 System目录(%windir%System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个 小节,自己添加下面这一行:
AddType application/x-httpd-php .php
将C: PhpPhp.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。 编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把 InstallDir替换成你的Apache 2的安装目录的名称。
doc_root = c:apacheapache2htdocs
extension_dir = c:phpextensions
session.save_path = c:/temp
在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:Temp不存在,请自己创建它。
下 一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:PhpPhp4ts.dll拷贝到Windows的系统文件 夹(%windir%System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行:
LoadModule php4_module “c:/php/php4apache2.dll”
如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:
ScriptAlias /php/ "c:/php/"
Action application/x-httpd-php "/php/php.exe"
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:
apache ?k start
另外,如果Apache正在运行,可用以下命令重新启动它:
apache ?k restart
从 命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加 载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。
要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:
<? phpinfo(); ?>
将 文件保存到主Web服务器目录(C:InstallDirectoryApacheApache2Htdocs),用浏览器访问http: //localhost/phptest.php。如果一切正常,应该看到一个含有PHP徽标的网页,其中包含大量设置和其他信息。要知道PHP当前是通 过CGI来运行,还是在Apache内部运行,可以检查一下环境变量orig_script_name。如果PHP通过CGI来运行,这个变量的值就是/Php/Php.exe。如果Apache将PHP脚本作为模块来运行,该变量的值应该是/Phptest.php。
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。