Windows 搭建PHP开发环境

0 前言

  本文介绍在 Windows 上搭建 PHP 开发环境的过程,使用的 Web 服务器为 Apache + fcgi 。(亲测可用)

1.安装准备

  下载 Apache 与 mod_fcgid : http://httpd.apache.org/

  本人下载的是: httpd-2.4.46-win64-VS16.zip 与 mod_fcgid-2.3.10-win64-VS16.zip

  下载 PHP: http://www.php.net/

  本人下载的是:php-8.0.2-Win32-vs16-x64.zip

2.安装Apache

  解压 httpd-2.4.46-win64-VS16.zip 到 D:\httpd-2.4.46-win64-VS16;

  将 D:\httpd-2.4.46-win64-VS16\Apache24\bin 添加到系统环境变量Path中。

  2.1 配置 Apache

  修改 D:\httpd-2.4.46-win64-VS16\Apache24\conf\httpd.conf 文件

将 

Define SRVROOT "C:/Apache24"

改为 

Define SRVROOT "D:/httpd-2.4.46-win64-VS16/Apache24"

添加监听端口号

Listen *:8080

2.2 检查Apache 是否安装成功

  以管理员方式启动cmd.exe程序,并执行如下语句

执行如下命令,安装 apache:

httpd -k install

执行如下命令,启动 apache:

httpd -k start

若无错误,则在浏览器中输入 localhost:8080/index.html ,若出现下面的页面,则表示 apache 配置成功。

3.安装PHP

  解压 php-8.0.2-Win32-vs16-x64.zip 到 D:\php-8.0.2-Win32-vs16-x64;

  将 D:\php-8.0.2-Win32-vs16-x64\php.ini-development 文件复制一份并重命名为 php.ini 。

  用记事本打开 php.ini 文件, 文件中";"为注释。

  3.1 取消如下行的注释并修改

  extension_dir = "ext" 改为 extension_dir = "D:/php-8.0.2-Win32-vs16-x64/ext"

  extension=php_curl.dll
  extension=php_gd2.dll
  extension=php_mbstring.dll  ;这是php多字节字符串扩展
  extension=php_mysql.dll
  extension=php_pdo_mysql.dll
  extension=php_pdo_odbc.dll
  extension=php_xmlrpc.dll

  3.2  配置Session功能

  在使用session功能时,必须配置session文件在服务器上的保存目录,否则无法使用session,新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,在D盘根目录上建立了phpsessiontmp目录,然后在php.ini配置文件中找到 ;session.save_path = "/tmp"  改成  session.save_path = "D:/phpsessiontmp"

  3.3 配置PHP的文件上传功能

  同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,新建一个可读写的目录文件夹,此处我在D盘根目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到 ;upload_tmp_dir = 改成 upload_tmp_dir = "D:/phpfileuploadtmp"

  3.4 修改date.timezone

  将 ;date.timezone = 改成 date.timezone = Asia/Shanghai

4.在Apache中搭建 PHP 运行环境

  4.1 配置 fcgi 模块

  解压 mod_fcgid-2.3.10-win64-VS16.zip 将里边的 mod_fcgid.so 文件拷贝到 D:\httpd-2.4.46-win64-VS16\Apache24\modules 目录;

  修改 D:\httpd-2.4.46-win64-VS16\Apache24\conf\httpd.conf 文件

  取消如下语句前的注释‘#’(该模块用于加载虚拟主机,用于部署多个项目)

LoadModule vhost_alias_module modules/mod_vhost_alias.so

  在 httpd.conf 文件的末尾添加如下语句:

LoadModule php_module "d:/php-8.0.2-Win32-vs16-x64/php8apache2_4.dll"
#AddType application/x-httpd-php .html .htm .php
# 可以用下边的FilesMatch语句代替上一行 <FilesMatch
"\.php$"> setHandler application/x-httpd-php </FilesMatch> PHPIniDir "d:/php-8.0.2-Win32-vs16-x64" # 配置fcgi LoadModule fcgid_module modules/mod_fcgid.so AddHandler fcgid-script .fcgi .php FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000 FcgidMaxRequestsPerProcess 1000 FcgidMaxProcesses 15 FcgidIOTimeout 300 FcgidIdleTimeout 300 # 上传文件的最大尺寸100MB FcgidMaxRequestLen 104857600 # 全局默认使用的PHP版本配置 FcgidInitialEnv PHPRC "d:/php-8.0.2-Win32-vs16-x64" FcgidWrapper "d:/php-8.0.2-Win32-vs16-x64/php-cgi.exe" .php

  4.2 添加 php 项目    

  修改虚拟主机配置 D:\httpd-2.4.46-win64-VS16\Apache24\conf\extra\httpd-vhosts.conf

# 这里的端口需要与监听端口一致
<VirtualHost *:8080> Include "E:/workspace/php/www/apache_php_fcgi.conf" </VirtualHost>

  其中 apache_php_fcgi.conf 为php项目www的apache配置

Define PROJECTROOT "E:/workspace/php/www"


DocumentRoot "${PROJECTROOT}"
<Directory ${PROJECTROOT}>
    Options FollowSymLinks ExecCGI
    Options Indexes FollowSymLinks
    AllowOverride None
</Directory>

ErrorLog "${PROJECTROOT}/logs/php-error.log"
CustomLog "${PROJECTROOT}/logs/php-access.log" common

#DirectoryIndex index.htm index.html index.php

# 不同版本的PHP需要修改下面两行
#FcgidInitialEnv PHPRC "d:/php-8.0.2-Win32-vs16-x64"
#FcgidWrapper "d:/php-8.0.2-Win32-vs16-x64/php-cgi.exe" .php
apache_php_fcgi.conf

  4.3 查看PHP运行环境

  在 E:/workspace/php/www 下新建 phpinfo.php 文件, 输入如下内容:

<?php
phpinfo();
?>

  重启Apache服务:

httpd -k stop

httpd -k start

  若无错误,则在浏览器中输入 http://localhost:8080/phpinfo.php, 若无错误则会显示出下面的页面

 

参考文献:

[1] http://www.cnblogs.com/emanlee/p/4440250.html

[2] http://jingyan.baidu.com/article/154b46315242b328ca8f4101.html

[3] https://blog.csdn.net/yiminghd2861/article/details/105078263

posted @ 2017-07-31 19:37  pry_up  阅读(405)  评论(0编辑  收藏  举报