windows上搭建PHP的过程以及其中碰到的问题

引言: PHP天生就是用来解决互联网时代的Web语言问题的专业工具,本文将记录在windows上搭建PHP的过程以及其中碰到的问题。

配置版本信息

OS: Windows 7 
PHP: 7.1.7-nts-Win32-VC14-x64

前置条件

需要安装Windows Visual C++ VC14+以上的版本安装包。 
下载地址: https://support.microsoft.com/en-hk/help/2977003/the-latest-supported-visual-c-downloads 
正常情况下,下载2017年的版本

下载 apache

Apache就不用多少了,大名鼎鼎的Web服务器…. 
下载地址:http://httpd.apache.org/docs/current/platform/windows.html 
选择下载windows下的版本即可。

比较有意思的是Apache本身不提供Windows下的安装包,只提供源代码,我晕,但是还好,提供了几个第三方提供的binary安装包: 
我选择了Apache Haus 64位的, 版本为: 2.4.27

下载php7

目前最新的php版本是7.1.7, 它提供了non-thread-safe和thread-safe两个版本,这里提示大家下载thread-safe的版本: 
下载地址: http://windows.php.net/download#php-7.1 
这里写图片描述

安装目录的设置

将php7.1以及解压之后的apache 2.4放置到了特定目录: 
这里写图片描述

配置Php

  • 进入php的解压目录,将php.ini-production文件复制一份,重新命名为php.ini

  • 将php当下的目录以及php\ext的目录放置到系统环境变量中的PATH中去。 
    例如: 当前目录为D:\Program Files\phpdev 
    则PATH中的目录为:D:\Program Files\phpdev\php-7.1.7-nts-Win32-VC14-x64 
    D:\Program Files\phpdev\Apache24 
    环境变量的设置路径: 右键我的电脑,点击属性–>高级系 统设置 –>环境变量–>系统变量,找到Path

配置Apache

打开apache安装目录下的conf,编辑httpd.conf, 将其中的SRVROOT修改为实际的安装目录,下面为从中截取的片段:

Define SRVROOT “D:\Program Files\phpdev\Apache24” 
ServerRoot “${SRVROOT}”

这里着重讲SRVROOT替换为实际的Apache的安装目录。

其他的修改包括:

 <IfModule dir_module>
    DirectoryIndex index.html index.php index.htm
</IfModule>
  • 1
  • 2
  • 3

新增index.php来支持php的版本

安装Apache服务

基于Administrator的身份运行windows下的cmd, 然后安装apache服务:

Apache_HOME\bin\httpd.exe -k install -n apache

这里写图片描述

正常情况下,系统会弹出一个提示对话框,提示是否允许Aapache访问外网,这个是Windows Firewall针对向外联网的请求进行了拦截,只要点击确定允许之后,即可。

启动Apache服务

进入Apache的安装目录,运行ApacheMonitor.exe

bin\ApacheMonitor.exe

这里写图片描述

点击启动Start,即可启动Apache Web服务器。 
这里写图片描述

配置php.ini

基于文本编辑器,打开php.ini文件:

  1. extension_dir [Line 734 ~~L738]

    ; Directory in which the loadable extensions (modules) reside. 
    http://php.net/extension-dir 
    extension_dir = “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64” 
    On windows: 
    extension_dir = “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64/ext”

  2. 打开访问dll

    • 893行 ;extension=php_curl.dll 去掉前面的分号
    • 896行 ;extension=php_gd2.dll 去掉前面的分号
    • 903行 ;extension=php_mbstring.dll 去掉前面的分号
    • 905行 ;extension=php_mysqli.dll 去掉前面的分号
    • 909行 ; extension=php_pdo_mysql.dll 去掉前面的分号

    配置Apache的httpd.conf

    • 在之前添加如下信息: 

    LoadModule php7_module “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64/php7apache2_4.dll” 
    PHPIniDir “D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64”

这里的PHP_HOME: D:/Program Files/phpdev/php-7.1.7-nts-Win32-VC14-x64

  • 在文件的最后新增如下信息:
<IfModule php7_module>
  AddType application/x-compress .Z
  AddType application/x-gzip .gz .tgz   AddType application/x-httpd-php .php   AddType application/x-httpd-php .html   AddType application/pdf .pdf </IfModule>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

apache的错误信息查看

apache启动错误查询。右键点击“计算机”》打开“管理”》“事件查看器”》“windows日志”》“应用程序”即可查询报错内容

配置PHP扩展库curl

将php解压文件中的libssh2.dll、php_curl.dll、ssleay32.dll、libeay32.dll放入Windows/System32文件夹(即使你是用64位系统) 
然后,把libssh2.dll放入Apache2.4解压目录下的bin文件夹 
最后,在php.ini中,把extension=php_curl.dll前面的分号去掉 
重启Apache,OK!

其中php_curl.dll在php目录下的ext目录下。

测试php页面

创建一个php页面:

<?php
phpinfo();
?>

猜你喜欢

转载自www.cnblogs.com/phpcoding/p/9650851.html