仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2077|回复: 20
打印 上一主题 下一主题

[学习教程] PHP编程:PHP在XP下IIS和Apache2办事器上的装置

[复制链接]
跳转到指定楼层
楼主
发表于 2015-2-3 23:58:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。   比来,有很多伴侣问我在WindowsXp下PHP的装置进程,正好比来我在本人的机械上胜利的以模块化的体例装置了PHP4.23。既然这么多伴侣需求,我就以最多见的IIS和Apache办事器为例,把PHP在WindowsXP下的装置进程写出来吧,但愿能对要装置PHP的伴侣有点匡助。假如不加特别申明,以下的引见同时也合用于Win2000版本。

1、概述:

在装置之间,你必需先弄懂PHP装置的两种分歧形式,一种是Cgi形式(CGI executable),另外一种是模块化装置体例。可以如许来区分:在CGI形式下,假如客户机恳求一个php文件,Web办事器就挪用php.exe去注释这个文件,然后再把注释的了局以网页的模式前往给客户机;而在模块化中,PHP是与Web办事器一同启动并运转的,所以从某种角度下去说,以apache模块体例装置的PHP4有着比CGI形式更好的平安性和更好的履行效力和速度。

2、软件筹办:

正所谓"工欲善其事 必先利其器",要想在你的机械上运转PHP得起首筹办需求的软件。

(一)WEB办事器

起首你需求一要WEB办事器来撑持PHP的运转,这里咱们选择两种最多见的、也是用的最多的两种办事器来分离引见。

1.IIS(Internet Infomation Server)

IIS想必人人都不生疏吧,在Window2000中,IIS默许是被装置的。你可以经由过程 “入手下手->设置->掌握面板->办理东西->Internet 信息办事”来翻开它。假如你没有装置,可以经由过程Windows的“添加删除组件”来装置它。关于IIS的装置网上的引见有良多,这里就不再引见了。

2.Apache

Apache一样是一个十分优异的Web办事器法式,同时它也是笔者最喜好的一款Web办事器。它不但玲珑、天真,并且在利用过程当中十分不乱,不会呈现一些稀里糊涂的毛病(IIS绝对来讲就差多了),更主要的一点是,它还撑持把PHP装置成它的一个模块。

所以,笔者激烈保举你用Apache来装置PHP。如今经常使用的Apache有两个版本,一个是1.36的版本,另外一个是Apache2系列的版本,在这里保举你利用Apache2版本,你可以在Apache的官方网站高低载到最新的版本。

Apache官方网站:http://www.apache.org

(二)PHP法式

最新的PHP法式代码你可以在它的官方网站http://www.php.net/downloads.php下载到,注重要选择那种ZIP包的,不克不及选择自装置那种,在写本文时,PHP最新版本是4.23版,巨细是5417KB。固然你也能够在本站的下载栏目中下载到。好了。软件都筹办好了,上面就入手下手咱们的PHP装置之旅吧!

注:以下的装置过程当中是以PHP4.23版本、Apache2.040为准的。
3、IIS下的装置:

1.把下载上去的PHP装置包解压到你的C盘根目次(这里选择C根目次盘是为了今后修正调试便利用,你也能够选择分歧的目次),解压后应当能失掉一个相似于"php-4.2.3-Win32"的目次,把目次称号改成"PHP"。

2. 翻开方才解压的PHP目次,你会发明有一个叫做"php.ini-dist"的文件,这就是PHP的设置装备摆设文件了,你需求把它更名成"php.ini",然后复制到体系目次中(假如你的体系装在C盘,XP下就是"C:\windows",Windows2000下是"C:\winnt")。

之前有很多引见PHP装置文件的文章都说要修正php.ini中"extension_dir"和"doc_root"这两项的值,可是笔者在装置PHP过程当中都没有悔改,也没有过任何毛病,看来这两个参数不是必需的。固然假如你不宁神也能够修正一下。把doc_root改成你的办事器的根目次,把extension_dir改成你的PHP装置文件夹中的extensions文件夹地点的相对途径。

3. 翻开你的IIS信息办事掌握台,右击"默许网站"图标,选择属性,翻开默许网站属性选择,然后再选择"主目次"选项卡

点击"设置装备摆设"按钮,你会看到又跳出一个选项卡,下面是已界说的文档类型。点击"添加"按钮,在出来的对话框的可履行文件文本框中敲入你的php.exe地点的相对途径加上"%s %s",在这里是"c:\php\php.exe %s %s",扩大名文本框中写上你请求php法式处置的后缀名,在这里咱们写入".php",上面的选项按默许设置便可。

4.好了。如今试着把上面的几段代码保留成后缀为php文件,然后放到你的一个虚拟目次中去会见,看一下是不是能呈现正常的了局。
  1. phpinfo();?>
复制代码
或许你会碰着上面的输入了局:
  1. Security Alert! The PHP CGI cannot be accessed directly. This PHP CGI binary was compiled with force-cgi-redirect enabled. This means that a page will only be served up if the REDIRECT_STATUS CGIvariable is set,e.g. via an Apache Action directive.For more information as to why this behaviour exists, see the manual page for CGI security.For more information about changing this behaviour or re-enabling this webserver,consult the installation file that came with this distribution, or visit the manual page.
复制代码
不必怕,这是由于如今PHP在IIS中是以Cgi体例运转的,而你的php设置装备摆设文件中这一项又没有翻开。假如你看到下面的一段正告,你需求翻开你的php.ini文件,然后查找"cgi.force_redirect = 1"如许一句,把这一句后面的分号去失落,然后把1改成0就OK了,如今再来刷新一下你方才的页面,假如没有甚么不测的话,你的屏幕上的了局应当和我上面的截屏差不多。到此,PHP在IIS上的装置进程已完成了。
4、Apache下的装置:

咱们此次采取的是Apache的一个全新版本Apache2,之前在Apache下装置PHP记得还对照费事,如今在Apache2平台下,咱们可以便利的以模块化的体例装置PHP,条件是PHP版本必需是4.0以上的。

固然,如今还在用PHP3的已很少了。所以此次咱们只引见若何以模块化的体例在Apache下装置PHP,假如你想懂得在Apache下若何以Cgi的体例加载php,可以参考本站的另外一篇文章"PHP+Apache在Win9x下的装置和设置装备摆设"(http://www.hooday.com/?n=ReadArticle&a=34)。好了,闲话少说,让咱们一同来领略模块化装置PHP的风度吧。

1.运转你下载的Apache2装置文件,装置Apache,装置过程当中会提醒你输出主机名,办理员信箱等信箱,这些信息在你装置完今后是可以修正的,所以可以宁神的输出。在选择装置途径时,笔者建议你把装置途径也选成C盘的根目次。在一步步的"Next"后,你会发明Apache很轻易就装置好了。

如今再看你的义务栏的右边,应当有一个相似于这个小图标的图标,这就是Apache2的办事办理器,也是Apache1.X版本所没有的。注重这个图片的形态,假如有一个绿色的小三角,申明你的办事器已装置胜利,假如是白色的,则申明你的Apache没有装置胜利,你需求进一步去找一下掉败的本源。

普通最多见的毛病就是端口有抵触,Apache默许的端口是80,假如你的80端口被另外一个法式(如IIS)占用了的话,就会呈现没法启动的情形。呈现这类情形,你可以依照上面的办法来修正:点击"入手下手->法式->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File"会翻开一个Apache的设置装备摆设文件,你可以用文本编纂器来翻开它。

然后在这个文件的第120行摆布,你会发明相似于"Listen 80"的字样。如今只需把这个80改成你想要的端口便可,固然在你用阅读器阅读的时分也不要忘了加上端口哦。

到了这里,你的Apache应当已亮起绿灯了吧,上面咱们来测试一下它是不是在任务。翻开你的阅读器,在地址栏上输出"http://localhost/"(假如你的端口不是80,需求在前面加上":端标语"),不晓得你是不是看到了Apache的接待页,笔者在这一步并没有看到,不晓得甚么原因,Apache2版本仿佛没有默许的引诱页面。假如你也没有看到,可以试着在前面加上一个文件名"index.html.en",假如能呈现上面相似的页面,则申明Apache已任务正常了。

2.好了,Apache已装置OK了,接上去就是看若何跟PHP联合起来了。

最入手下手的两步和上边引见的IIS步调是不异的,也是解压后复制到C盘根目次,然后更名,再把PHP.ini复制到体系文件夹,假如有需要的话,修正一下"extension_dir"和"doc_root"这两项的值。上边已说得很清晰,不再多说。

接着即是最主要的一步了,也是模块化装置的中心步调了,可要看细心了。

翻开Apache2的设置装备摆设文件(http.conf),可以经由过程点击"入手下手->法式->Apache HTTP Server 2.0.40->Configure Apache Server->Edit the Apache httpd.conf Configuration File"翻开.

或翻开你的Apache装置目次下的Conf目次,你会发明一个名为http.conf的文件,就是它了,你可以用任一个文本编纂器来翻开它。在这个文件的第121行摆布,你应当能找到"LoadModule"字样,然后前面是一串途径,这就是Apache默许要加载的模块了,一样,我们也能够在厥后加上一句,让他来加载PHP模块。
其实,就是这么复杂,你只需加上这么一句"LoadModule php4_module C:/php/sapi/php4apache2.dll",这里要注释一下"php4_module"是模块的称号,前面跟的途径则随你的PHP装置目次而变,这三个字串之间是用空格符分隔的。

接上去,还有一步任务,也是良多装置掉败的伴侣所疏忽的,刚入手下手笔者也是不管若何到场上边的那一句后Apache就启动不起来了。后来经由几回实验,才发明,你的PHP装置目次下的"php4ts.dll"必需要复制到windows体系的system32目次下,不然,就不成能启动起来。

如今再试一下,是否是一切都正常了。好了,再往返顾一下咱们在Apache下装置的进程。

(1)添加"LoadModule php4_module C:/php/sapi/php4apache2.dll".

(2)复制"php4ts.dll"到system32目次.

是的,就是这么复杂,PHP已运转在你的机械上了。你可以经由过程双击义务栏的Apache办事器图标来看到这一点。

3.再来测试一下吧。

把上面的代码保留成info.php文件放在你的Apache装置目次下的htdocs目次下。
  1. phpinfo();?>
复制代码
然后在阅读器中敲入http://localhost/info.php(假如你的端口不是80,请在localhost/后加上":端标语"),是否是看到了相似上面的屏幕所显示的。假如是,祝贺,你已胜利的以模块化体例装置了PHP

以上在Apache局部所讲述的器材对不太熟习Apache设置装备摆设的伴侣能够有一点不太分明,不外只需你按我下面所说的一步步的来,应当都不会呈现甚么大的偏差。假如万一不晓得本人改的哪个局部使Apache启动不起来了,你可以切换到Apache装置目次下的Conf文件夹,将http.conf文件删除失落,再将Apache的默许设置装备摆设文件httpd.default.conf更名成http.conf便可。假如你想进一步的懂得Apache的设置装备摆设。

4、跋文

PHP的装置原本就是一件很复杂的工作,出格是后来所讲的以模块化装置PHP的进程。人人有工夫都无妨本人试一下,如许你才干体验到胜利的喜悦。

最初祝人人都能顺遂的装置PHP。
不过语法好学,但是怎么用语法来实现每个人都有每个人的方式,几乎是各有千秋。然而借鉴别人成功的代码,绝对是有益无害,因此,多看那些经过千锤百炼凝出来的经典代码,是进阶的最好方法。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-2-4 07:46:09 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
板凳
 楼主| 发表于 2015-2-9 18:52:32 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
蒙在股里 该用户已被删除
地板
发表于 2015-2-25 02:35:28 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
莫相离 该用户已被删除
5#
发表于 2015-2-26 05:57:37 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
因胸联盟 该用户已被删除
6#
发表于 2015-3-1 18:25:41 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
山那边是海 该用户已被删除
7#
发表于 2015-3-6 19:35:48 | 只看该作者
爱上php,他也会爱上你。
乐观 该用户已被删除
8#
发表于 2015-3-11 21:36:36 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-19 14:29:24 | 只看该作者
做为1门年轻的语言,php一直很努力。
柔情似水 该用户已被删除
10#
发表于 2015-3-28 04:43:29 | 只看该作者
php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)
第二个灵魂 该用户已被删除
11#
发表于 2015-4-3 19:31:24 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
再见西城 该用户已被删除
12#
发表于 2015-4-7 17:22:42 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
谁可相欹 该用户已被删除
13#
发表于 2015-4-15 07:37:51 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
小妖女 该用户已被删除
14#
发表于 2015-4-20 15:12:54 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
变相怪杰 该用户已被删除
15#
发表于 2015-4-21 15:21:19 | 只看该作者
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
透明 该用户已被删除
16#
发表于 2015-4-21 21:26:54 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
小魔女 该用户已被删除
17#
发表于 2015-4-23 23:23:25 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
海妖 该用户已被删除
18#
发表于 2015-5-4 20:43:02 | 只看该作者
爱上php,他也会爱上你。
小女巫 该用户已被删除
19#
发表于 2015-5-8 08:55:23 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
再现理想 该用户已被删除
20#
发表于 2015-7-10 17:00:52 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 12:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表