php环境的配置相对来说比较繁琐,网上教程大部分都是放一起说,总体感觉比较乱,其实Apache是一款通用的服务器软件,可以用来配置支持静态页面,php、Python、Java甚至asp等服务端语言,要把Apache理解成单独的服务器,并不一定和php搭档,只是和php配合是比较流行的一种组合方式,就比如lamp就是比较流行的网站架构,所以,首先我们来配置Apache,首先让服务器跑起来并能解析静态的html文件

  首先我们去官网下载最新版本的Apache,首先来到首页:http://www.apache.org/

  

  这就是Apache基金会的官方网站,拉到底会看到有很多的开源项目,如Spark、Struts框架、流行的Hadoop大数据平台、tomcat服务器等,最著名的就是第一个HTTP Server也就是http服务器,

  

  现在,点击进去就是Apache服务器页面了,网址是:http://httpd.apache.org/

  官方提供了很多文档等,比网上搜到的结果要系统并且准确,并且还有中文版

  好了,我们看到现在最新版是2.4.18,点击"Download"超链接

  

  进来之后会看到下载的类型,前面几项是Linux版本的包文件和源码,点击最后一个Windows版本

  

  然后现在看到的就是下载页面:

  

  我们看到,Apache服务器没有专门用于Windows的版本,需要自己对源码进行编译生成二进制文件,如果不编译的话可以下载下面提供的编译好的程序

  后面的WampServer和XAMPP就是Windows平台最流行的集成环境,上面第一项或者第二项就是编译好的Windows版本的Apache服务器,我们单击第二项进去,就是最终的下载页面了,链接是:http://www.apachelounge.com/download/

  现在我们根据操作系统的位数直接下载就可以了,

  

  下载完之后,我们为了方便,首先建立一个目录用来专门放置服务器和后续的php运行环境,我是建立在C:/www下,然后把刚才下载的服务器解压到该目录下,然后C:/www/Apache24下就是这个样子

  

  还要注意一个地方就是最新Apache的运行环境最低必须建立在VC++2014之上,然后VC++2015更没有问题,同样php运行也需要这个环境,我前面的文章提到过,所以安装一次VC14或者VC15就没问题了

  现在开始配置服务器,首先打开conf目录下的httpd.conf配置文件

  找到ServerRoot "c:/Apache24"这一行,

  根据实际目录进行更改,所以改为:ServerRoot "c:/www/Apache24"

  找到#ServerName www.example.com:80把前面的#去掉即可

  然后找到 DocumentRoot "c:/Apache24/htdocs"这个意思就是我们web资源放置的根目录了,这里我的改为:DocumentRoot "c:/www/Apache24/htdocs"

  然后及接着下面一行:<Directory "c:/Apache24/htdocs">这个也是web资源的跟目录,所以改为:<Directory "c:/www/Apache24/htdocs">

  然后找到:

  <IfModule dir_module>
    DirectoryIndex index.html
  </IfModule>

  这个意思就是我们的默认首页程序,可以设置为:DirectoryIndex index.html index.htm index.php 这个配置是按照优先顺序进行访问

  然后找到:ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/"这里的意思是设置cgi的目录,在Apache目录下有个cgi-bin目录,所以这里应该改为:ScriptAlias /cgi-bin/ "c:/www/Apache24/cgi-bin/"

  然后找到:

  <Directory "c:/Apache24/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
  </Directory>

  这些代码,注意和我们前面的web根目录不是同一个位置,把这里也改成cgi-bin的目录,和ScriptAlias一样就行

  到这里,我们的Apache服务器配置就完成了,现在可以解析html运行应用了

  现在,运行cmd,进入C:\www\Apache24\bin目录,这个目录下的httpd.exe就是服务器的执行程序,根据官网上说的,我们首先把Apache作为应用软件服务安装到系统服务中,运行命令:

  httpd -k install -n "ApacheServer"

  执行完这条命令后,如果没什么问题,就把Apache服务安装成功了,服务名为:ApacheServer这个我们可以自定义,如果只执行

  httpd -k install

  这样默认安装Apache服务名为:Apache2.4

  如果安装的时候提示,OS 5拒绝服务,AH00369这样的错误,那么原因就是我们没有权限执行操作,那么需要进入C:\Windows\System32目录下,右击cmd.exe选择以管理员方式运行即可,这样就安装成功了

  现在运行services.msc就可以看到刚安装好的服务了,并且默认为自动,就是随系统自动启动,不用我们每次再启动了,

  如果想手动启动或者关闭或者重启服务器有两种方法,一种是在系统服务中右键进行相应操作,比较简单

  另外就是使用命令行进行操作:

  启动:httpd -k start -n "ApacheServer"或者默认是httpd -k start

  停止:httpd -k stop -n "ApacheServer"或者httpd -k shutdown -n "ApacheServer"

  重启:httpd -k restart -n "ApacheServer"

  如果需要卸载服务就执行:httpd -k uninstall -n "ApacheServer"

  现在,我们访问http://localhost或者http://127.0.0.1如果可以看到 It works!的欢迎页,就是访问到了根目录下的index.html程序,那么Apache的环境就ok了

  下面需要配置让Apache可以运行php应用,现在需要去php官网下载运行环境

  过程就不细说了,Windows版本的网址为:http://windows.php.net/download

  这里可以下载最新版本的php7.0.1也可以下载php5.6.16这两个版本,但是不推荐下载更低的5.5、或者5.4版本

  

  这里根据操作系统位数一定要下载线程安全的版本,也就是Thread Safe的版本,下载完之后解压到C:/www下,我这里下载的是php7所以路径是:C:\www\php7

  

  然后我们在这个目录下会看到,php7apache2_4.dll这个就是Apache运行php的必要组件,现在继续打开Apache的配置文件httpd.conf

  把光标定位在最后,新起一行输入:LoadModule php7_module "C:/www/php7/php7apache2_4.dll"

  这行代码意思就是让Apache服务器引入php模块,从而可以支持php应用的web访问

  要注意,php5和php7是不一样的

  

  然后,继续添加一行

  AddType application/x-httpd-php .php .html .htm .php5

  这个是告诉Apache识别php文件的后缀,从而对这些后缀的应用进行解析,后面我们还可以添加.php7

  最后添加一行:PHPIniDir "C:/www/php7" 这行代码是告诉Apache服务器php.ini的目录,从而使服务器读取php的配置

  到现在就添加完了,如果是php7的话,有可能后续启动不成功,如果启动不成功,那么把PHPIniDir最后这行,放到LoadModule前面,就是先读取php.ini设置,在加载php模块,这样一般就成功了

  网上还有一种对于php7的配置方法是:

  phpinidir "C:/www/php7"
  loadfile "C:/www/php7/php7ts.dll"
  loadfile "C:/www/php7/ssleay32.dll"
  loadfile "C:/www/php7/libeay32.dll"
  loadmodule php7_module "C:/www/php7/php7apache2_4.dll"

  就是多三行代码,引入了3个文件,如果上面方法还是不行,可以试试这个方法,因为php7发布没多长时间,后续这些问题肯定会解决的

  到这里Apache服务器就全部配置完了,我们保存httpd.conf就行了

  现在进入php的目录,把php.ini-development复制一个副本,然后将副本重命名为:php.ini,然后打开php.ini开始配置

  我们找到; On windows:这行

  

  把下面的; extension_dir = "ext"前面的;注释去掉,然后把ext改成php下的ext目录,这里改成 extension_dir = "C:/www/php7/ext"目录,这个是指定php相应扩展的目录,如果这个不设置,那么只能使用php核心功能,另外的curl操作,mbstring字符串操作,xml操作,mysql操作都不能进行,所以这个必须设置好

  网上有些教程说把C:\www\php7;C:\www\php7\ext加入到环境变量中,这里只去掉分号就行了,还有的教程说把ext目录下的dll文件都复制到C:\Windows下,这里的注释不管他,原因很简单就是因为Windows本来就在环境变量当中,这些方法其实本质是一样的,都是让php通过php.ini配置文件读取ext扩展目录,所以我个人推荐第一种方法,就是直接在这里指定目录,简单并且灵活

  开启了这里之后,那么就需要有选择的开启相应的扩展了

  

  这里的这些扩展,去掉前面的;就是代表的开启,这里建议开启:

  php_mbstring.dll(截取中文标题或摘要时会发现太好用了)

  php_mysqli.dll

  php_mysql.dll(新版本废除了,用mysqli代替)

  php_curl.dll

  php_gd2.dll

  php_pdo_mysql.dll

  php_sockets.dll

  php_xmlrpc.dll

  这些扩展一般就够用了,后续如果需要的话再具体开启

  另外,时区的配置也可以改一下,作用和在程序里面用date_default_timezone_set()函数设置相同,默认是UTC格林威治时间,和北京时间相差8个小时

  

  这里可以改成:date.timezone = Asia/Shanghai或者date.timezone = PRC

  到这里,我们保存php.ini,然后重启Apache服务器,测试phpinfo()就可以了

  到现在Apache服务器和php环境都配置完成了,更详细的个性化配置等,需要根据项目需要来具体配置,这个后续再不断地补充,目前这个环境一般的开发测试是没问题的

  另外关于MySQL数据库基本上是独立的,单独安装的,只要我们安装好之后,就可以用php或者其他编程语言建立连接去访问数据库中的数据了,具体配置也是相对独立的

Windows下配置Apache服务器并支持php的更多相关文章

  1. Windows下配置Apache服务器

    第一步:下载最新Apache. 下载网址:http://www.apachehaus.com/cgi-bin/download.plx 第二步:把下载文件解压缩到一个工作目录.D:\Apache 第三 ...

  2. windows下配置tomcat服务器的jvm内存大小的两种方式

    难得遇到一次java堆内存溢出(心里想着,终于可以来一次jvm性能优化了$$) 先看下报错信息, java.lang.OutOfMemoryError: GC overhead limit excee ...

  3. windows下配置apache+php环境

    PHP安装 由于windows下php扩展5.6的多余7.0,故以php5.6为开发环境.如果对扩展要求不高,可以使用php7,安装过程类似. 约定: 环境安装目录: D:/phpsetup/ |-- ...

  4. Windows下配置Apache+PHP跑Wordpress拾遗

    首先,我很少这么做,因为一旦有跑WAMP的需求,我就直接下一个wamp的安装包就可以了,市面上数不胜数,我一直用的是EasyPHP,不是说它有多好,而是很多年前第一次用后没什么问题,就一直用下来了.这 ...

  5. Windows下配置Nginx使之支持PHP(转)

    平台描述:Windows下,使用PHP套件 xampp,因为是测试玩,所以没在服务器 Linux 环境中配置. 1. 首先,将 nginx.conf 中的 PHP 配置注释去掉. 01 # pass ...

  6. Mac下配置Apache服务器

    有的时候,我们需要在内网工作组中分享一些文件或是后台接口没有及时给出,你又想要模拟真实数据,直接在项目里创建plist也可以做到这种需求,但难免让工程变得冗余且看起来比较Low.这个时候就看出配置本地 ...

  7. Windows 下配置 Apache 支持 https

    1.打开cmd ,输入  F: // 切换到Apache安装路径,我的Apache安装目录在 F盘 2.cd F:\Apache\bin 3.set "openssl_conf = F:\A ...

  8. Windows下配置Git服务器和客户端 超全

    为了配合Redmine使用,特地用Git来做版本控制. Git Candy© 是一个基于ASP.NET MVC的Git分布式版本控制平台,Git Candy的目标是轻松干掉Bonobo,逐渐追赶Git ...

  9. Windows下配置Tomcat服务器

    Tomcat服务器是Apache开源基金会的一个项目,tomcat不仅能作为静态文件的服务器,也可以作为JSP/Servlet的web容器,而且使用广泛,性能也不错,那么下面来配置一个基本的基于tom ...

随机推荐

  1. 【POJ 1035】Spell checker

    题 题意 每个单词,如果字典里存在,输出”该单词 is correct“:如果字典里不存在,但是可以通过删除.添加.替换一个字母得到字典里存在的单词,那就输出“该单词:修正的单词”,并按字典里的顺序输 ...

  2. session共享

    Nginx或者Squit反向代理到两台tomcat服务器 tomcat使用memcached tomcat连接memcached工具 cp session/*.jar /usr/local/tomca ...

  3. Dinic问题

    问题:As more and more computers are equipped with dual core CPU, SetagLilb, the Chief Technology Offic ...

  4. CSS文字排版

    一.font-size 我来试一试:为第一段中的“胆小如鼠”设置字号为:20px,字体颜色为:red. <!DOCTYPE HTML> <html> <head> ...

  5. android中Handle类的用法

    android中Handle类的用法 当我们在处理下载或是其他需要长时间执行的任务时,如果直接把处理函数放Activity的OnCreate或是OnStart中,会导致执行过程中整个Activity无 ...

  6. List<T> 序列化与反序列化

    [Serializable] public class OrderHead { public String OrderId { get; set; } public String OrderName ...

  7. Spring实战学习笔记之SpEL表达式

            在Spring XML配置文件中装配Bean的属性和构造参数都是静态的,而在运行期才知道装配的值,就可以使用SpEL实现         SpEL表达式的首要目标是通过计算获得某个值. ...

  8. 在多浏览器使用JS复制内容到剪切板,无需插件

    最近在学习DHTMLX,下载了一些JS源码,使用谷歌浏览器,在学习dhtmlxGrid部分进行复制表格内容时,发现,在线版的可以复制成功,而本地的不可以复制,报类似访问剪切板错误,经查找原因,原来是谷 ...

  9. IIS6.0文件解析漏洞小结

    今天搞站,本来这个站是aspx的,webserver是IIS6.0的,进入后台之后,发现有一个上传图片的地方,于是,我就上传了一张asp/aspx的一句话图片木马,但是用菜刀连接的时候,没有成功get ...

  10. 不引用office动态库导出excel

    public class OutExcelReport { /// <summary> /// 把 DataSet 的数据导成 Excel /// </summary> /// ...