PHP 1:在Windows上安装和配置PHP,Apache和My SQL
原文:PHP 1:在Windows上安装和配置PHP,Apache和My SQL
如果你Google一把类似的主题,你会发现相关的文章可以塞满你的硬盘。在这里之所以把它再次拿出来,目的是想记录我作为一个新手如何配置的,以及配置期间碰到的一些问题。期望其中的一些问题对大家有用。
下载安装文件就不用说了。
不过还是提一下版本吧。
- PHP:5.1.4
- Apache 2.2.3
- MySQL:5.0.2-community-nt
我安装的顺序如下:
- 安装PHP
- 安装Apache
- 安装MySQL
- PHP安装
有人认为上面的安装顺序和普通安装顺序有点出入,是的,确实如此。一般来说先安装Apache,然后安装PHP。
在安装PHP的时候有个插曲,我下载的是PHP MSI包,但是这个包安装之后发现没有dev,ext等目录,和提供的install.txt文件出入太大了。我开始以为是我的机器有问题,后来再装了一次,发现和原来还是一样,于是有点晕了,后来到php的网站上一看,原来MSI下载后面有个说明,一阵狂晕,直接撞墙。于是下了ZIP包才了事,大概有8M多。唉,太粗心了。所以务必下载正确的安装包。
2. Apache安装
首先说明一点,Apache安装有点意思。
安装时,它会提示一个重要的选择:选择端口和用户,缺省的是为所有用户安装,并且端口为80.但是还提供了另外一个选择,即为当前用户,端口为8080.如果机器的IIS选择的端口为80,并且你选择默认的方式,很显然到了安装Apache服务的时候就会有问题,因为端口已经应用。如果你选择后一种,它不会给你安装Apache服务。
下面提提我安装服务遇到的问题。
开始我选择的是第二种,即当前用户,端口为8080,结果是没有自动安装Apache服务,于是看Install文件,发现可以apache应用程序手动安装,于是按照他说的跑到Bin目录下,发现没有Apache.exe.没辄了。于是打开Apache的配置文件,设置一个不用的端口,重新安装Apache,但是选择的是第一种方式,这次居然好了。
提示,务必选择合适的端口号以及服务的用户,特别是装有IIS的机器。
上面的装完之后,最繁琐的事情就是配置了。也许对Linux或Unix的用户来说,这是小菜一碟,但是对于Windows用户来说,稍微一点难度,可能微软是傻瓜型软件人才的缔造者吧。
配置的文章多的是,我也不多提,只提个人认为比较重要的几点。
- 在配置前写一个BAT文件。这个BAT文件干什么用的呢?就是为了测试Apache文件的语法是否正确。BAT文件内容可以为:其中的F:\Apache Software Foundation\Apache2.2就是Apache安装的目录。
"F:\Apache Software Foundation\Apache2.2\bin\httpd.exe" -w -t -f "F:\Apache Software Foundation\Apache2.2\conf\httpd.conf" -d "F:\Apache Software Foundation\Apache2.2\."
这样做的好处是进入命令行,直接运行此文件,就可以看到结果了。
- 配置PHP DSO模块。这个比较令人生厌,因为PHP提供的Php5Apache2.dll居然在Apache2.2.3不适用,还得下载个补丁才能了事。这个补丁到处都有,在Google输入Apache Php5Apache2.dll,马上就有成千上万。
- LoadModule这个家伙实在令人恶心。我输入 LoadModule php5-Module F:/php/Php5Apache2.dll时,把php5-Module误写为php5-Mdoule,居然告诉我错误。晕。至今我还不知道为什么。为什么呢?
为了测试PHP和Apache工作是否正常,写个简单的PHP文件吧。
2 phpinfo();
3 ?>
它显示PHP和Apache的信息。
3 MySql安装
这个比较简单,把php.ini的扩展修改一下,然后把扩展dll复制一下。so easy。
建议下载phpMyAdmin来操作MySQL。
4 总结
很多人都认为配置有些难度,当初我也是这么认为。现在我不这么想了,因为我认为掌握了其本质,才知道配置的简单程度。网上
关于配置的文章比比皆是,但是很少有人说出其本质。如果你经常在Linux或Unix平台下操作,那就不说了。反之,如果你是Windows的用户,
你极有可能使用IIS,我就是其中之一。
如果了解IIS,或者换句话说IIS是如何执行ASP,ASP.NET等页面的,我相信你再配置Apache,PHP等就不是什么难事了。
言归正传,配置Apache和PHP就类似于IIS和ASP.NET。但是微软考虑到了用户的配置,所以把IIS和ASP.NET的配置简化了。
一个PHP页面肯定先要通过解析等什么,这通过什么来完成呢?那就是PHP自己的解释器。所以你需要把php5ts.dll这个家伙考到Windows系统目录下,以便Apache可以调用它,整个系统可以调用它。那么为什么PHP怎么知道虚拟目录(或者称根目录)?那就是PHP.ini里的doc_root 设置的内容,有人问这是什么。相当的简单,就是IIS里的虚拟目录路径。有人还会问,那么PHP如何处理MySQL?这个问题非常好,也是很关键的。为什么PHP会链接MySQL?PHP不可能天生就会,这个时候就需要一个扩展,在php.ini有个extension_dir项,它就是用来指定扩展的路径的。但是这是一个目录,里面包含了很多扩展,有Mysql的,sybase的,SQL Server的,那么我如何指定我想要的扩展呢?答案很简单,还是php.ini文件,里面有个
extension项,如果你想扩展MySQL,可以为extension=php_mysql.dll,其他类似。
上面主要是PHP的讲解,下面稍微讲讲Apache的吧。记得在IIS里,如果想增加一个MIME类型,非常简单的,但是在Apache里,可没有什么界面给你按几个按钮就行了。这需要你打开httpd.conf,例如增加PHP类型,可以写到AddType application/x-httpd-php .php ,WORD可以为AddType Application/msword .doc.简单吧。
通过上面的解释,相信你对配置不再那么恐惧了吧。
接下来我将通过一个实例来学习这些东东!
PHP 1:在Windows上安装和配置PHP,Apache和My SQL的更多相关文章
- 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器
#!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...
- 在Windows上安装和配置Jenkins
一.windows上安装Jenkins 1.官网下载Jenkins安装包Jenkins.msi ,进入安装模式,选择默认配置,安装完成之后,就会默认打开浏览器 http://localhost:808 ...
- 在 windows 系统上 安装与配置 PHP + Apache
参考:http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html 在大学时候上过一门PHP课时,因为课堂需要配置过一次PHP+Mysql ...
- Windows上安装、配置MySQL的常见问题
一,MySQL的下载安装 MySQL的安装过程就不说了,基本上和一般软件的安装过程没什么两样,就是一路点next,设置的root用户的密码要牢记.具体教程可以参考:http://jingyan.bai ...
- 20130910.Windows上安装和配置MongoDB
官方文档:http://docs.mongodb.org/manual/tutorial/ 1.下载软件 http://www.mongodb.org/downloads 2.解压 解压后进入bin目 ...
- DOCKER在windows上安装与配置
1.下载程序 安装包 https://github.com/boot2docker/windows-installer/releases(这个地址国内下载很慢) 用这个: https://get.da ...
- 在windows上安装wamp时遇到apache无法启动,图标为橙色
1.首先测试端口号是否被占用,如果端口号被占用,修改相对应文件的端口号,修改端口号的方法网上很容易搜到. 2.如果端口号没有被占用,cd到httpd.exe目录下,查看错误原因,这里我显示的错误是ht ...
- windows下安装和配置mongoDB
上次在mac下安装和配置了mongodb,这次在windows下也尝试安装和配置mongodb. 1.首先下载mongodb压缩包,下载后解压到D盘或E盘.如下: 2.配置环境变量:桌面—计算机右键— ...
- Windows上安装配置SSH教程(2)——在Windows XP和Windows 10上安装并配置OpenSSH for Windows
知识点汇总:http://www.cnblogs.com/feipeng8848/p/8559803.html ------------------------ 安装方式有3种: (1)Windows ...
随机推荐
- MEF初体验之五:Lazy Exports
在一个部件组合中,导入将触发一个部件或者多个部件的实例化,这些部件暴露了所需原请求部件的必要的导入.对于一些应用程序来说,延迟实例化-防止图结构下的递归组合-可能对于将创建一个长久复杂的开销很大而不必 ...
- 揭秘上海传智播客平均工资超过7k
其中一位知情人士
大学毕业生人数破700万大关.如何破解"毕业即失业"中国式的大学困境? 2014年全国高校毕业生总数将达到727万人,比被称为"史上最难就业年"的2013年再添 ...
- iOS coreData
static int row=0; static const NSString *kStoryboardName = @"LRCoreDataViewController"; st ...
- vim cheat sheet
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzE1Mjg5NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- Ruby 一些经常使用的细节
1.try 永远不会抛出异常 在 没有的时候 返回 nil province_id = Province.find_by_name(prov).try(:id) 2.find(:first, :con ...
- Java学习笔记——泛型
假定T不仅要指定接口的类继承.使用下面的方式: public class some<T extends Iterable<T> & Comparable<T>&g ...
- Codeforces Round #277.5 (Div. 2)A——SwapSort
A. SwapSort time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...
- Chromium Graphics Update in 2014(滑动)
原创文章,转载请注明为链接原始来源对于http://blog.csdn.net/hongbomin/article/details/40897433. 摘要:Chromium图形栈在2014年有多项改 ...
- springmvc集成Ueditor插件实现图片上传2、
一.下载Ueditor插件. 地址:http://ueditor.baidu.com/website/download.html 二.环境搭建. 具体可以参看http://fex.baidu.com/ ...
- ABP之动态WebAPI
ABP之动态WebAPI ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 ...