虽然PHP运行的理想环境是LAMP,且网上有什么WAMP搭建一步到位的包,但鉴于部分学渣(好比本人)没搞过Linux,且本身的本本装的可能一直是Windows,当前要紧的事是先学PHP知识,敲敲代码看看效果,往后再补Linux部分,对于WAMP的搭建有必要本身手动走一遍,一步一个脚印。php
不细说WAMP各个软件的安装步骤,网上教程一大把,这里说的是在win七、32位下的在配置过程(不包含phpmyadmin),我看过不少的配置过程,在本身机子上走一遍后发现总不对头,而后大喷一句“这TM简直在浪费lz生命”,但愿看完后对你不要形成这样的恶果......==html
首先,假定你是按照推荐的方式安装的,各个软件在各个目录都分门别类放好,个人是:mysql
在安装时,就应该将Apache、MySQL、PHP单独放好,不推荐放在经常使用的C盘,C盘的软件安装后文件众多容易搞混,不如另起一个D盘、E盘来装,清楚,配置起来也简单。web
配置以前,应该安装一个文本编辑器软件,如notepad++、editplus、ultraedit等等,方便打开修改。sql
(1)Apache配置chrome
首先找到Apache安装后的主配置文件httpd.conf,好比个人在D:\WAMP\apache2.2.22\conf下面,最好用notepad++、editplus等等编辑器打开,不要用自带记事本,好处是它们不会破坏文件的编码结构,下降出错概率。apache
* 找到DocumentRoot "D:/WAMP/Apache2.2.22/htdocs(相似),大概在179行,它后面的路径表明者存放脚本源文件的地方,至关因而你本身机器上的服务器上存放web文件的目录,改成安装后的www目录,好比个人是:windows
要特别注意的是,双引号必定要在英文半角环境下输入,目录分隔符统一使用正斜杠/,即使是在windows下面。浏览器
找到<Directory "D:/WAMP/Apache2.2.22/htdocs">(相似),大概在206行,修改为跟上面同样存放脚本源文件的目录路径,服务器
* 找到DirectoryIndex选项,大概在241行,该选项指的是Apache默认识别的索引文件,即当在浏览器地址栏上输入一个URL时,只输入到目录而没有指定运行该目录下哪一个文件时,Apache将先去找这些文件,找到就默认运行它们,没找到的话会生成一个该目录下的文件和目录的索引列表,相似于下图的状况
这在windows版本的Apache中默认是这样配置,至因而不是必定会显示成文件和目录的索引,仍是要看配置的选项。好比个人DirectoryIndex选项配置成下图:
这样,它会在没指定当前运行脚本时去找index.php、index.html或者index.htm三个文件,对于其余格式不会运行,若三个都存在的话优先运行写在前面的文件。
* 添加 PHPIniDir "D:/WAMP/php5.4.10" ,将Apache与PHP连接起来,有文章说改行要添加在LoadModule actions_module modules/mod_actions.so后面,亲测不是必须的,随便起一行,如在整个配置文件最末尾,PHPIniDir后面的双引号包含的路径是PHP所在的安装的目录,注意改为你本身的PHP安装目录。个人是:
* 添加 LoadModule php5_module "D:/WAMP/php5.4.10/php5apache2_2.dll",仍是要注意写你本身的PHP安装目录,这时要到PHP安装目录下面找找看有没有php5apache2_2.dll这个扩展文件,若是你的PHP是另外的版本,则它的名字可能会有些差异,这个名字打个比方是php4apache1.dll,这里就要改成"D:/WAMP/php5.4.10/php4apache1.dll",个人是:
有文章说这行要加在#LoadModule vhost_alias_module modules/mod_vhost_alias.so以后,测试默认配置环境下不是必须的。
* 添加PHP程序能够运行的文件类型,能够一块儿写,也能够分开写,表示这些格式的文件都可执行PHP程序,好比个人是一块儿写:
分开写能够是:
改完注意保存,至此,Apache配置完成。
(2)PHP配置
PHP安装只须要将下载好的压缩包解压到指定目录便可,程序在运行时就去跑一遍这些文件,它们的改动是即改即生效。
首先在PHP安装的根目录下找到php.ini-development或php.ini-production文件,从字面意义上知一个为开发版本,一个为产品版本,把其中一个改成php.ini保存,改动前先备份一份原来的文件为好,再次强调打开这些文件最好仍是用notepad++等编辑器。
* 首先找到extension_dir = "ext" ,大概在730行,修改为你本身安装php后存放php扩展文件的目录,存放php扩展文件的目录是安装目录下的ext文件夹,打开能够看到不少.dll格式的扩展文件,个人以下图:
修改为你本身的路径。
* 定位到大概870行左右,能够看到不少相似于;extension=php_fileinfo.dll的行,它们是打开php中扩展库的选项,在PHPz程序中用到的函数都是由扩展哭来辅助咱们完成的,有点相似于C语言的头文件,若是要使用哪个扩展库,去掉前面的分号便可。做为一个刚开始安装的PHP程序,不须要开启太多扩展,如下经常使用的几个足够,分别去掉它们前面的分号并保存。
extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_pdo.dll
至此,PHP配置完成。
看到不少文章,写着还要更改;date.timezone、short_open_tag等等选项,其实彻底没有必要,能够在写程序时以为不方便再来改,或直接经过程序改。
(3)mysql配置
mysql的大多配置都在安装软件的过程当中解决了,基本不须要做什么后续手动的修改,固然仍是请你按照规范安装到指定分类好的目录下面。
* 找到my.ini文件,个人是在D:\WAMP\mysql5.6.20\data下面,编辑器打开,找到datadir选项,这是存放mysql数据的物理文件的目录,大概在90行,将它后面双引号中的路径修改成你本身存放mysql数据的地方,能够在某个盘的根目录下单独新建一个data目录存放,我直接在D:\WAMP\mysql5.6.20\data下面再新建一个data文件夹用于存放数据,你能够按照本身的想法去作。所以个人datadir后面改成:
好比你的存放数据的在D盘下面的Data目录,则是datadir="D:/Data/",注意目录分隔符使用正斜杠/。
至此,mysql配置完成,请重启Apache。
如何知道配置成功?
打开notepad++,新建Ctrl+N新建一个文件,输入下面内容,保存到刚刚配置的存放web源文件的目录下面,好比www下面,起一个文件名如phpinfo.php
<?php
phpinfo();
打开浏览器,输入localhost/phpinfo.php回车,若是出现相似于下面的页面说明配置成功了,这个页面就是显示当前使用的Apache、php、mysql及开启的php扩展等各类信息,若是没有,那.....只能再找缘由了
这里没有写PhpMyAdmin的配置,我以为mysql自带的命令行客户端或者windows自带的CMD已经够用了,很是方便,还能够帮助咱们强化SQL语句的使用,固然前提是得会一些mysql的命令。
遇到的错误:
1. 配置好apache后,apache没法启动,Apache Service Monitor上start按钮是灰的,根本没法启动,看看win的服务列表里边也没有,也就是apache安装后无服务。
这是因为apache服务没有注册,以管理员身份运行cmd,定位到安装apache的bin目录,它下边有个httpd.exe,运行命令 httpd.exe -k install -n apache2.2。注意最后的apache2.2得看安装的版本,若是你装的是2.4的版本,则写 *** -n apache2.4,这样在windows服务列表里边显示对应的版本,好比这里apache2.2
2. 没法加载网页,我用的chrome输入localhost/phpinfo.php或者127.0.0.1/phpinfo.php,网页上就是显示没法加载(前提请确认目录下有phpinfo.php脚本),点开看详细信息,说可能地址没法访问,那就是apache没法认识这个地址了。
找到apache配置文件httpd.conf大约46行处,能够看到相似于下面的:
#Listen 12.34.56.78:80
Listen 8080
把他们都注释掉,另起一行写 Listen 127.0.0.1:80或者Listen 127.0.0.1:8080,固然前提是,你的机器上80或者8080端口没有被占用,这很重要,这样apache就实时监听127.0.0.1或者是localhost了,默认端口是80(8080).
===============================================================================================
最近试了个win8下64位的搭建,复习下步骤,结果64位果真多了点玩意儿(暂不包括64位的MySQL)。
首先,64位的Apache貌似不仅一家,牛人们自立门户,好比https://blackdot.be/download-archive/和这个http://www.apachelounge.com/download/,至于apache官网http://httpd.apache.org/download.cgi罗列的主要仍是用在Linux上的,并且只提供旧版本的、win下的32位的安装包,我下载的是http://www.apachelounge.com/download/这个上面的,之前老是弄VC9的,此次就配个VC11。使用的apache:httpd-2.4.10-win64-VC11.zip。
先安装PHP吧(稍后说明为何这么作),PHP的下载还是win版PHP官网http://windows.php.net/download/,选择最新的PHP版本:php 5.6(5.6.3) VC11 x64 Thread Safe(2014-Nov-13 03:39:26),zip格式20.09MB。解压到指定的H:/wamp/php5.6.3/下边。
PHP不变,仍是找到extension_dir = "ext"处修改成我安装的目录 extension_dir = "H:/wamp/php5.6.3/ext"。
而后把一串相似extension=php_bz2.dll的地方,前面的;去掉,参考32位的处理,保存便可。
注意,PHP的VC11版本要运行须要Visual C++ Redistributable for Visual Studio 2012 Update 4,到微软官网自行下载安装!对于Apache的VC11也须要这个!
而后解压apache的包(期间我因为下载的包不彻底就解压,但chrome显示已经下完了,致使解压后没有conf目录,吓尿,重下没问题),到H:/wamp/apache2.4.10,目录下,打开conf/httpd.conf文件,开始配置,注意换成你本身的路径,别说没提醒你!。
1. 找到 ServerRoot "c:/Apache24" ,改成 ServerRoot "H:/wamp/apache2.4.10" ;
2. 找到 DocumentRoot "c:/Apache24/htdocs", 改成 DocumentRoot "H:/wamp/www";(htdocs目录是原始的未动Apache服务时,存放运行的脚本的地方,改成单独的www目录,工做时偶尔会发现can‘t find files in *******/htdocs这种错误,就知道,咱们的脚本没有同步到服务器上)
3. 找到 <Directory "c:/Apache24/htdocs">, 改成 <Directory "H:/wamp/www">;
4. 找到 <IfModule dir_module>, 下面有行DirectoryIndex index.html,改成 DirectoryIndex index.php index.html index.htm;
5. 找到 ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/",改成 ScriptAlias /cgi-bin/ "H:/wamp/apache2.4.10/cgi-bin/";
6. 找到 <Directory "c:/Apache24/cgi-bin">, 改成 <Directory "H:/wamp/Apache2.4.10/cgi-bin">;
7. 到文件最后,添加 PHPIniDir "H:/wamp/php5.6.3",目的是将PHP挂载到Apache上,从这里编译php脚本;
8. 在第7处后边再分别添加:AddType application/x-httpd-php .php、AddType application/x-httpd-php .html、AddType application/x-httpd-php .htm,分三行写,或合到一行中,这是MIME类型,前面32位有解释,哥你千万别把顿号也写进去了啊~;
9. 在第8处后边再分别添加:LoadFile "H:/wamp/php5.6.3/php5phpdbg.dll"、LoadFile "H:/wamp/php5.6.3/php5ts.dll"、LoadModule php5_module "H:/wamp/php5.6.3/php5apache2_4.dll"。
特别说明第9步,在32位里边只要一行LoadModule php5_module "H:/wamp/php5.6.3/php5apache2_2.dll"就可,并且这个dll是***apache2_2.dll,并且挨着它的dll文件只有这一个,但到了64位多了两个,一开始apache死活就是operation failed!,“我尼玛...”瞬间就想骂街,看了一遍后去PHP的安装目录看还有这两个dll文件,又search下了别人说的直接配成LoadFile "/php5phpdbg.dll",结果仍是一直是operation failed!我尼玛...,看了许久,发现LodeModule时是绝对路径,这个是否是也得这样,因而试着改为绝对路径的,卧槽成功了,启动了!因此说这几个文件是要看PHP的安装目录里边是怎样的,这就是为何要先安装PHP来着。
DOS下面(可能须要管理员身份启动才有效)进入Apache安装目录中bin目录,这下面放着一系列exe文件,执行 httpd.exe -k install,安装成功后打印一长串的字符,再次安装会包already install,而后双击ApacheMonitor.exe,点击start开启服务,理论上到这儿应该是成功了,可是我没有,我尼玛又是什么问题!差了下说64位须要Java Runtime Environment...
因此,可能还要下个Java Runtime Environment安装,下个百度的就行,不必定非要官网的运行时。
OK,Apache总算启动了,应该好了。
----------------------------------------------------------------------------
照例检验phpinfo,结果访问脚本被报403 Forbidden~,可参考http://www.cnblogs.com/icebutterfly/archive/2010/02/01/1661237.html这篇博友的,64位默认拒绝访问,在<Directory />和<Directory "H:/wamp/www">下边的选项改一改,大概是相似于htaccess指令什么的忘了,反正就是容许咱们访问目录下的脚本。
改了以后再运行,结果代码原样被输出,并且不是用<? ?>短标记写的,这就是刚才第9步说的那两个dll文件,没有使用绝对路径,致使php挂载仍是为挂载到Apache上。
Over~
有集成包安装了,何须这么累呢,走一遍仍是能学到东西的嘛~
-----------------------------------------------------------------------------------
写在最后,有时候彻底配置好环境那真是蛋疼,特别是急用的时候。好比上面的64位,擦全部的设置检查了个遍,google了一大堆,stackoverflow找了数条,仍不能开启curl模块=_=,快累觉不爱了,若是你是急于学习语言知识,那固然少花时间在这些蛋疼的配置上面好,也应该这样,装集成包, WampServer(http://www.wampserver.com)或者XAMPP(https://www.apachefriends.org/index.html)均可以,WampServer更小,我的喜欢用它。