如果你觉得本站还不错,为方便下次访问,可以【加入收藏】 最快知道本站更新,请订阅切换到繁體中文
百姓生活网
首页 | 时尚女性 | 家有爱车 | 妈妈宝贝 | 美食厨房 | 亲亲大自然 | 爱上摄影 | 电脑学堂 | 我爱我家 | 健康人生 | 小小书房 | 壁纸下载 | 影视评论 | 学英语 | 商业
养殖 | 种殖 | 产业信息
子 栏 目 导 航: 电脑学堂硬件资讯 软件资讯 网页设计 实战地带 互联八卦 游戏世界
您现在的位置: 百姓生活网 >> 点点滴滴 >> 电脑学堂 >> 网页设计 >> 正文
PHP配置全攻略之Windows篇 Build040713

作者:佚名    文章来源:本站原创    点击数:    更新时间:2004-7-24

前言

  一直在网上逛,对PHP也有了所谓的了解。感慨于菜鸟入门时的艰辛(想偶当初光自己安装就花了2个星期),特写下此教程一篇,不敢托大,若能有所帮助则甚感欣慰。不当、不详及不解之处万望指正!

  补充:为了日后更新方便,此次安装方式和原来的常规方式略有不同,不必进行移动DLL文件等操作,请特别注意。

  几句废话:关于PHP的介绍自不必多叙,相信各位已从各方面或多或少得知。网上也有很多的安装教程,但不是太旧不能顺应发展变化,就是错误连连,让新手无所适从。有朋友认为PHP的重点在编程上,服务器的配置可免则免,于是使用类似phptriad之类的合成软件或者JAVA做的安装程序等。 这固然节省了一部分时间,但是错过了入门的必要步骤,我认为对您今后的学习还是不利的。如果有时间和毅力,不妨往下继续看。何况今天的这种安装方式,在您重装系统后亦可在5分钟内重新完成PHP的安装配置。

准备工作

安装平台
  
Windows 2000 Server + SP4 + IE 6

   注:
除win9x外,高版本2000核心的windows(如2000,XP,2003)下此配置方法应该均无问题(但没有时间一个个测试,有问题可以联系我)。

使用软件及版本
PHP 4.3.7
Apache 2.0.50
MYSQL 4.0.20d
Phpmyadmin 2.5.7
ZendOptimizer 2.5.3

  注:以上软件均为Windows下的最新稳定版本。当您看到这篇教程时,也许各软件版本早已更新,请自行调整测试。

正式开始

  推荐更改以下所有软件的默认安装路径,不要放在系统盘,理由在后面。此处我将安装主目录设在 D:\phpinstall\ ,本文下面的路径也请改为相应路径。另外,路径中请勿包含空格(例如:Program files)以避免不必要的麻烦。

安装MYSQL数据库

  这个比较简单。将下载好的ZIP文件解压缩,直接点一下里头的setup.exe,一路NEXT即可(本人安装路径:D:\phpinstall\mysql)。
  然后请打开“我的电脑”,运行一下“D:\phpinstall\mysql\bin\winmysqladmin.exe”,初次运行可能会遇见如下界面,可以随意输入一个用户名和密码。注:此处用户名密码并非对应数据库中用户名密码,而是windows帐号之类的东西(具体尚未验证,但绝非mysql数据库中用户),请按要求填写(以后还可以修改)。
  接下来点击“OK”之后可能会发现它不见了,别急,看看你的任务栏右下角,在这里呢!那个可爱的红绿灯,看见了没有?如果显示是绿灯,恭喜你,MYSQL服务已经启动。如果是黄灯,请稍候一下。如果是红灯,也请别急,右击那个图标,然后点“WINNT==>Start the Server Standalone”,如果那个选项呈现灰色,请点“Start the Service”。其目的是重新启动MYSQL服务。
   许多教程里谈到用运行命令(cmd)来启动,放着这么好的工具不用,其实何必呢?
   继续,右击,点“Show me”,然后出现了它的运行界面。
   而左边第2项“Start Check”可以在您重新启动系统(比较直接和偷懒的方法)或者关闭winmysqladmin.exe然后再次运行,用来判断是否正常。一般来说第一次运行winmysqladmin.exe需要在系统目录下生成一个my.ini文件,所以第二次运行方正常。如下提示说明是正确的(均为yes或OK)。否则也请自行重新启动系统或服务。
  如果还不放心,试试这样:运行“D:\phpinstall\mysql\bin\mysql.exe -u root -p”,正常的话应该出现一个类似DOS的窗口(如果出现让您输入密码的窗口,直接回车即可,因为mysql初始安装root密码默认为空;如果是覆盖安装MYSQL的话请输入原来的那个root密码)。然后输入“show databases;”(别忘了分号,但不含引号),接下来如果出现两个数据库名称(mysql和test),那现在已经可以很肯定的说,您的MYSQL已经完全配置好了 :) 看看效果

安装Apache服务器

  其实安装的过程很简单,也是类似的一路“NEXT”就行了,这里就说明两点:
  ①中间会出现一个界面,别怕,按如下窗口的提示写即可,何况我们以后还可以修改这些信息。
  ②如果您要更改默认安装路径,注意Apache2.x会自动在路径后面再加上一个"Apache2"文件夹。例如我想把它安装在“D:\phpinstall\Apache2\”下,中间更改路径时只需要填写或选择"D:\phpinstall\"即可,如图
  安装完了,你会发现右下角多了这么一个图标,双击,发现这个界面.这是Apache2新增的一个非常实用的工具,在这里可以方便的控制Apache服务的开启、关闭、重启等操作,留给大家自行研究吧。
  现在请打开IE浏览器,在地址栏中敲入“http://127.0.0.1”,出现以下界面者,说明Apache的默认安装是成功的。

PHP的安装

  将下载得到的PHP-4.3.7-win32.zip解压缩到“D:\phpinstall\php”,请确保下面没有类似“php-4.3.4-win32”这样的子文件夹,即压缩包内所有的文件已经直接放到了PHP的安装文件夹(“D:\phpinstall\php”)下。
  说到这里,不得不提一下PHP的两种安装方式。一种是CGI的安装方式,另一种是模块(modules)安装方式,一般推荐后面一种,因为其扩充性比较好。下面就按照这种思路安装。
  请将“D:\phpinstall\php\php4ts.dll”移入“D:\phpinstall\php\sapi”。最后将“D:\phpinstall\php\php.ini-dist”改名为“php.ini”后移到 Apache2 的安装目录“D:\phpinstall\Apache2”下(注意:移到系统目录例如 C:\WINNT亦可,但这样重装系统后你又得重新配置PHP,这种移到Apache2目录的方法可以省去该麻烦)。
  最后,在 D:\phpinstall\php 下新建两个子目录“session”和“includes”(理由?呵呵,别急,下面会说明)
  好了,PHP的安装就这么简单,是不是有点不可思议?

Apache及PHP的配置(重点)

  配置PHP的一些属性

  打开“D:\phpinstall\Apache2\php.ini”,搜索“doc_root”,“=”后面默认应该为空,你可以将它改为自己的WWW网页的默认位置,例如本人的机器上就是改为“doc_root = f:/www”(请使用斜杠"/"而非反斜杠"\")。
  继续搜索“extension_dir”,会得到“extension_dir = ./”一行,将它改为“extension_dir = D:/phpinstall/php/extensions”。然后搜索“;extension=”,会得到一大传类似的连续行。这些是PHP的扩展模块,可以根据需要使用,对需要加入的模块只需要去掉前面的分号即可。例如,“extension=php_gd.dll”、“extension=php_imap.dll”、“extension=php_zip.dll”等。
   搜索一下“session.save_path”,找到“session.save_path = /tmp”一行,将后面的地址改为你自己机器上已经存在的目录(这就是刚才建子目录的用处,你不会想每次装了PHP后都重新建一次吧?),这里使用“D:\phpinstall\php\session”目录,然后将这一行改为“session.save_path = D:/phpinstall/php/session”(Again,还是斜杠)。这个问题在很多教程中都没有提到,而且一般SESSION在身份验证、购物车等时候才需要,所以初学者容易忽视。
  好了,保存一下,PHP的配置暂告一段落。

  配置Web服务器Apache

  依次展开“开始菜单==>程序==>Apache HTTP Server 2.0.50==>Configure Apache Server==>Edit the Apache httpd.conf Configuration File”,打开Apache的配置文件“httpd.conf”。
  搜索“#Listen”,找到“#Listen 12.34.56.78:80”一行,如果想让Apache2只监听某一该IP段,这里就需要去掉注释,改成你需要的IP地址。例如,你只需要本机调试,不想让外部访问,那就改成 “Listen 127.0.0.1:80”,这样一来,只能从你本机访问(地址栏输入 127.0.0.1 或者 localhost)才能看到Apache2的页面。或者当你网卡绑定了两个以上的IPe而只想用其中某一个时也可以考虑用这个方法。一般而言不必对此做太多修改。
  接下来搜索“#LoadModule”,又找到一大串连续的行。这些是Apache2为了解释特定的语言而引入的模块。请在后面加入新的一行:“LoadModule php4_module D:/phpinstall/php/sapi/php4apache2.dll”以使Apache2加入对PHP的支持。
   然后在这一行的后面再加上(其实加在哪里都一样,这样只是为了便于以后纠错):
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php4
    AddType application/x-httpd-php .php3
    AddType application/x-httpd-php .phtml
    AddType application/x-httpd-php-source .phps
  上述几行的用处是添加Apache支持和解释的PHP后缀名。您一定可以想到,如果加入“AddType application/x-httpd-php .html”一行,那么直接把PHP文件存为html格式也不要紧,你的Apache还是会自己解释的。
   (如果使用的是Apache1.x版本,还需做以下操作:搜索“AddModule”,还是找到一大串的连续行。在最后一行的下面加上“AddModule mod_php4.c”一行。本文使用的是2.x系列,所以毋需此步骤。
  最后需要更改的是默认WWW文件夹。搜索“DocumentRoot”,找到类似“DocumentRoot "D:/phpinstall/Apache2/htdocs" ”一行(随Apache2安装路径而改变)。将它改为“DocumentRoot "f:/www" ”(记得上面PHP的配置吗?对,同一个地方)。然后千万不能忘了一点,就是还要改一处地方,就是在你刚找到“DocumentRoot”下面不远的地方(或者直接搜索“# This should be changed to whatever you set DocumentRoot to”就可以发现它的所在),将“<Directory "D:/phpinstall/Apache2/htdocs">”一行改为“<Directory "f:/www">”。
  如果需要增加虚拟目录,请添加类似“ Alias /manual "D:/phpinstall/Apache2/htdocs/manual/" ”的行。其中“Alians”后面的那个斜杠后面对应的是虚拟目录名,后面的是它的物理路径。上面的地址就可以通过“http://127.0.0.1/manual”来访问。

  更改环境变量

  由于PHP在windows下运行时需要一些额外的DLL,所以需要用到“D:\phpinstall\php\dlls”下的那些文件。常规方法是将这些文件放到“C:\WINDOWS\system32”下,但这样一来每次重新装都要如此,所以我使用环境变量来避免此问题。桌面右击“我的电脑”==>“属性”==>“高级”==>“环境变量”==>“系统变量”==>找到“Path”一行,双击,在后面添加上述目录,注意记得在原先的环境变量后面加上分号以区分(即需要输入“;D:\phpinstall\php\dlls”)

  好了,三大难点基本上搞定。为了能让您有所参照,特地将自己的配置文件放了上来,以供参考。点此下载  

程序调试阶段

  这里要提醒一点,对Apache或PHP的设置做了更改后,需要重启Apache以使其生效(以后类似,请自行注意)。具体如下:

  开始菜单=>程序=>Apache HTTP Server 2.0.50=>Control Apache Server=>Restart=> OK

  如果在这中间出现什么问题的话,请根据提示来检查。现在,我们来测试一下自己的安装成果。

  在“F:\www”(如果你的网站根目录与我不同,请自行将此文件放入根目录下)新建一个文本文件,输入以下内容:
     <?php
     phpinfo();
     ?>
  然后将它更名为“phpinfo.php”,保存。打开IE浏览器,运行“http://127.0.0.1/phpinfo.php”,如果出现类似这样的网页内容,恭喜,PHP已经基本上安装好了。

  接下来要测试的是与MYSQL数据库的连接。
   把下载得到的“phpMyAdmin-2.5.7-php.zip”解压缩到“F:/www/phpmyadmin/”下,然后编辑config.inc.php文件,搜索“$cfg['PmaAbsoluteUri']”一行,后面对应的是phpmyadmin的虚拟路径,这里我们把它改为“$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';”。
  继续往下,搜索“$cfg['Servers'][$i]['auth_type']”这一行,这个是phpmyadmin的身份验证配置方式。这里我们选择“$cfg['Servers'][$i]['auth_type'] = 'config';”,下面两行就是mysql的用户名和密码。默认的用户名是“root”,密码为空,别怕,我们呆会儿可以利用phpmyadmin修改它。
  还是搜索,搜“$cfg['DefaultLang'] =”一行后面是它默认的语言,这里我们将它改为“$cfg['DefaultLang'] = 'zh';”,顺便把下面10行左右的默认字符集“$cfg['DefaultCharset'] =”改为“$cfg['DefaultCharset'] = 'gb2312';”。
  在浏览器中输入“http://127.0.0.1/phpmyadmin”,如果出现的界面如下,说明mysql已经连接成功了。phpmyadmin的其他功能就靠自己去摸索和实践了。

添加Zend引擎

  这个是所有安装中最简单的一步了。直接点下载得到的那个“ZendOptimizer-2.5.3-Windows-i386.exe”。因为我们的php.ini文件不在默认位置,中间需要指明它的位置(D:\phpinstall\Apache2)。它会自动备份原来的php.ini文件为php.ini.optimizer-bak,安装后需要重新服务才能生效。重启后请再次运行“http://127.0.0.1/phpinfo.php”,看是否在其中出现如图的画面(往下拉,在中间部位),没有的话,可要好好查查了。相信这个难不倒你,我就不多罗嗦了。成功后Apache就可以顺利解释有些用Zend加过密的PHP文件了。

重要说明

  此次安装与以往不同之处就在于php.ini的放置位置及dll文件的处理,因此,当您需要更新PHP版本时:请将新版本的PHP安装文件放到以前的目录并覆盖旧文件(参考上述 PHP的安装 部分,需要移动一个文件),而php.ini也需要重新编辑设定并移入Apache2安装目录(原来的php.ini文件设定可以参考,但不能继续使用,否则可能会导致未知问题) ;或者重新安装了系统后:只要原来安装目录(D:\phpinstall)下的文件没有改变,则只需覆盖安装MYSQL、Apache(过程参考上述步骤,安装路径要选择原来的),原来的配置和数据均不会被替换。然后重新设定一下PHP中DLL的环境变量即告成功!这也就是为何不要安装在系统盘的原因所在。

FAQ

Q1出现图中这个错误是什么意思?
A1:意思很明显了,没有任何安装的Apache2服务。要么您的系统是win9x,装不上服务;要么就是前面Apache2的安装过程出了一点小小的问题,请重新安装试试。如果机器装有IIS并处在运行中,请参见Q4

Q2我提交表单的时候不会自动生成变量?
A2:PHP4从4.2.0版本起,全局变量自动关闭。对于表单提交过来的变量,需要用特定的函数接受,具体如:

  $a=$_GET['var'];
  $b=$_POST['var'];

如果需要自动生成变量,可以打开php.ini,找到 register_globals = Off 一行,改成 register_globals = On ,然后重启Apache就可以了,但是从安全角度考虑,不推荐。

Q3我进入某个目录浏览的时候不是自动显示,而是列出该目录下所有子目录和文件名,像“Index Of/ phpMyAadmin”之类的,该如何处理?
A3:Apache的默认页为index.html,index.html.var,如果需要自己添加默认页,请修改httpd.conf中的DirectoryIndex项
打开httpd.conf文件,搜索DirectoryIndex,找到类似“DirectoryIndex index.html index.html.var”的一行,在后面添加你需要设置的默认起始页,用空格分开。如果你在某个WEB目录下有放置 index.html index.html.var 这几个文件中的任何一个,就将直接显示它。参数间优先级从前往后依次递减。

例如我的改成了:DirectoryIndex index.html index.php index.htm

Q4我的机器装有IIS,装Apache的时候经常出现各种各样的问题,怎么办? 症状举例 :
① 127.0.0.1不能访问,或者出现的是IIS的页面
② Apache服务安装不上去或提示端口冲突
……
A4: 127.0.0.1指的是系统默认80端口下的默认文档,如果你有装IIS的话,它默认的端口就是80,而Apache安装时的默认端口也是80,这样就会发生冲突,解决方法:
1、将IIS或者Apache其中一个的端口改掉(Apache里面是找“Listen 80”一行,把后面的数字该的大一些,比如8080再重启Apache就可以了,IIS很久没用忘记在哪里改了,不过图形界面应该很容易找)
2、重启计算机,Apache的优先权比IIS来得高,80端口就被它抢占掉了 :p
不过IIS的运行可能就有些问题了。
3、禁用IIS服务或者彻底删除IIS,然后重启Apache

Q5如何设置虚拟目录(我想把PHP文件放在主目录以外,怎么办)?
A5:拿http://127.0.0.1/phpmyadmin/来举例,这后面的phpmyadmin其实是一个虚拟目录,如果它是上级目录(这里是http://127.0.0.1)对应的子目录的话,就不需要特别的设置或指定,我的教程里面也因此将phpmyadmin特地放置到www主目录f:/www/下。

如果你把phpmyadmin放到别的地方也是可以的,这时需要为其指定一个虚拟目录。在httpd.conf中加入类似以下几行:

Alias /diary "G:/diary/"

<Directory "G:/diary">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

其中g:/diray是你硬盘物理路径,前面的/diray是相对www主目录的虚拟映射目录。这样,就可以通过127.0.0.1/diary 来访问G:/diary ,而不需要把所有文件都放到f:/www下去了。

另外,如果还要实现这样的效果:即使没有放置默认页,也不列出所有文件,而用警告框来代替的话,将上述Alias中下方“Options Indexes MultiViews”中的“Indexes”去掉即可。这个参数就是用来控制是否列表显示全部文件的。

Q6我运行有session的PHP脚本时出现类似下面这样的警告信息怎么办?
1、Warning: open(/tmp\sess_74045e121cd9b055160fbf0824ebbc60, O_RDWR) failed: ......
2、Warning: session_start(): Cannot send session cookie - headers already sent by ....
A6:1、典型的SESSION设置出错提示信息。请仔细查看上述安装过程中的session部分即可解决。
2、session_start()函数运行前不能有任何输出

Q7为什么我在加载 LoadModule php4_module f:/program files/php/sapi/php4apache2.dll后 重启apache时会显示 Syntax error等出错信息?
A7:出现这种情况是因为Program Files中间有空格,被当成两个参数解析了,解决方法:
1、换别的目录装,目录名不能含有空格
2、给那后面的参数加上引号,形如:Load ... "F:\Program files\....\php4apache2.dll"

Q8我的MYSQL服务确信已经启动了,但是phpMyAdmin就是连接不上,怎么回事?
A8:两种情形:
一种是确实启动了,但是你装了什么防火墙,而且禁止了MYSQL的端口,可以试试把所有防火墙之类的关掉,然后再连接;
还有一种是安装的时候有点问题,设成自动启动,但是实际上没有启动,可以试试以下命令:
//开始菜单,运行,输入“cmd”
net stop mysql
net start mysql
//然后cd到msql的安装目录
d:
cd phpinstall\mysql\bin
mysql -u root -p

看看能不能连上MYSQL

Q9我装了一些程序,但是看到的都是乱码,一定要手工选择 查看—编码—简体中文 才可以正确显示,怎么处理?
A9:在httpd.conf里面修改DefaultCharset一行,改为: DefaultCharset=gb2312 重启Apache即可

Q10为什么我安装了mysql4.0.20a后 在运行winmysqladmin.exe时出现:无法找到动态连接库 LIBMYSQL.dll 于指定的路径......??????????
A10:4.0.20a是测试版本,确实有此问题存在,解决方法:把mysql安装目录下的libmysql.dll放到系统目录下(windows/system32)下面,再运行winmysqladmin.exe;或推荐使用更新的稳定版本

 

一些编后感想

  其实PHP的安装也不是很难,关键是要有耐心。而php.ini和httpd.conf这两个关键的配置文件我也没有全部谈到。有些地方还是需要自己去慢慢揣测和琢磨了。中间安装过程也可能和我说的不完全一致,就要自己细心钻研。怎么说呢,时间的付出和获得的回报应该是成正比例的。相信各位也应该会明白这个道理。

  事隔一年,更新此文,竟产生些许感触。

  好了,开始您的PHP编程之旅吧,祝您好运!

又及:在别人进入PHP世界初期需要帮忙的时候,请不吝伸出你的双手帮助他们,谢谢。

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
  • 上一篇文章:

  • 下一篇文章:
  • 赞助商链接: | 阅读过这篇文章的网友,同时还还阅读了以下几篇文章:
    由EasyAPM-Server思路整理出来的IIS下支持P
    Windows平台下PHP5.0+Mysql4.1.x环境架设

    本栏目最近更新的图片文章:
    Google

    Yahoo域名$1.99注册链接地

    靠广告联盟月入3000元的经

    orgfree-500M稳定PHP FTP空

    美国空间商Godaddy12/23/2

    动易后台无法展开左侧菜单

    IXwebhosting主机购买过程

    logo素材大全02

    logo素材大全01
    网友评论:(只显示最新10条。评论内容只代表网友观点,请注意礼貌用语,与本站立场无关!)

    ©2005 百姓生活网 www.y8u8.com 琼ICP备13000608号 网站地图