一时心血来潮,想在自己电脑上装个Web服务器来耍,工作需要,要装起iis测试用,不过我又想耍Apache,想了想,就都装起吧
先装iis,因为我的盘子坏了,用不起,就想在网上下,以前经常下到的iis包用不起,不过今天运气不错,在动易的官方网站上下载到了用于Win XP的iis5.1的安装包(动易上也有iis for2000的和2003Server的,自己可以去下)安装过程简单,就不说了,因为我本机用的是Windows XP,iis5.1的功能相对简单,我只是拿来试验,也没打算怎么用,装好后,就把端口改成了8080.
然后安装Apache。从网站下载apache_2.2.6-win32-x86-openssl-0.9.8e.msi安装时按默认的设置80端口。
安装后,开始修改配置文件httpd.conf(犯了点小小的错误,由于好长时间没用这个,搞忘了是在Apache_setup_dir\conf\httpd.conf中,竟然去修改Apache_setup_dir\conf\default\httpd.conf。汗。。。。)找到DocumentRoot 把后面路径改成自己的"F:\wwwroot\apache",同时要改下下面的两个要统一,不然访问就会出现“Forbidden You don't have permission to access / on this server.”
然后修改 DirectoryIndex 在里面加上自己要加的默认首页,如我的设置为index.html index.htm index.php default.html default.htm default.php
好了,这里Apache基本上可以使用了。重启Apache,在网站的目录里(我的是F:\wwwroot\apache)放上自己的首页,输入 显示“hello,welcome to my home! Apache”(我默认首页的内容,嘿嘿)OK,第一步完成了
第二步,安装PHP模块。从php官方网站下载了php-5.2.5-Win32.zip,解压到c:\php目录下,把php5ts.dll拷到c:\Windows\system32\下,把php.ini-recommended改名为php.ini做配置文件。然后在Apache的配置文件httpd.conf里面加php配置块。
先从网上找了些资料,先说是以CGI方式安装PHP模块
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
不过这种方式我试了,不行,提示“You don't have permission to access /php/php.exe/default.php on this server.”,可能是版本不一样的缘故。就换成加载模块的方式
For PHP 4 do something like this:
LoadModule php4_module "c:/php/php4apache2.dll"
AddType application/x-httpd-php .php
; For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
因为我用的是PHP5,就用第二个加载模块,结果发现,还是提示出错“The requested operation has failed!” 把加载模块改为
LoadModule php5_module "c:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
另外需要添加下面一行:
# configure the path to php.ini
PHPIniDir "D:/php5.25"
不然,你就要把php.ini拷贝到c:\windows\system32目录下才行了。那样的话,太不灵活了。
再重启Apache,搞定!
在F:\wwwroot\apache里放上测试文件,phpinfo.php 内容如下
phpinfo();
?>
在地址栏里输入 OK,显示正常。
PHP显示时间不对的话,设置里面的date.timezone = RPC
第三步,让PHP可以支持Mysql
先从Mysql官方网站下载Mysql的安装软件,我下载的是mysql-essential-5.1.22-rc-win32.msi 点击按提示安装好。
因为Php5的版本默认没有开启对Mysql的绑定,所以要手动开通,先把d:\mysql\bin\libmysql.dll拷贝到 system32 目录下。再把php.ini里面的 extension=php_mysql.dll 前的注释去掉,再修改 extension_dir = "C:\php\ext"。好了,做个测试
(备注:其实这个问题关键的一步是 libmySQL.dll 这个文件,它不是原php5.0下面自带的那个,而是 mysql 文件里带的libmySQL.dll 当年我也是看到网上很多人说把 libmySQL.dll (我自己认为是 php5.0这个目录下的) ,结果是误人子弟啊!)
把下面内容保存为testdb.php放在Apache的Web访问目录,我的是在F:\wwwroot\apache
$link=mysql_connect('localhost','root','123456');
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
在IE地址栏里输入 显示Sucess
OK,搞定。忙活了一天了,总算弄的差不多了。不过还有点遗憾,想试下装起对ASP的支持,不过在网上查到的下载iasp的地址竟然打不开,不晓得为什么。只好做罢。算了,想弄Asp就在配好的简单的IIS里面搞就是了。暂时到这里吧。
Windows 2003下Apache2.2+PHP5环境搭建 :
后又安装,extension=php_mysql.dll前的;去掉了,php5ts.dll,libmysql.dll 拷到 系统目录里了。
extension_dir = "d:/php/ext 也改了,就是访问 时会提示
Fatal error: Call to undefined function mysql_connect() in E:\myweb\apache\testdb.php on line 2 。奇怪的很,后来网上找了很久,才发现,还要把php.ini拷到C:\windows目录下,重启Apache即可。
网上找的其它相关资料如下:
php.ini放在了c:\winnt\下,apache的配置文件里直接Copy了php5的install.txt中说明的内容,如下
# For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php"
原来这里PHPIniDir设置了php.ini在C:/php下,而不是winnt下的php.ini。要么将这句设置去掉,就使用winnt下的(如果PHPIniDir指定的目录下不存在php.ini,系统也会使用winnt下的),不然就使用指定目录下的。我这里使用指定目录(即php5解压的目录),将php-dist.ini改名为php.ini,将extension=php_mysql.dll前面的;去掉,默认的extension_dir = "./"也不用更改。重启Apache。
查看phpinfo,已经有了mysql的选项,运行程序,OK。
在windows2003下安装配置php+mysql,安装完成后无法与mysql建立连接,出现:Fatal error: Call to undefined function: mysql_connect(),仔细检查后发现是因为php.ini的everyone权限不够,给php.ini文件增加everyone的所有权先后问题解决。
阅读(2678) | 评论(0) | 转发(0) |