zoukankan      html  css  js  c++  java
  • 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-VS16Apache24in 添加到系统环境变量Path中。

      2.1 配置 Apache

      修改 D:httpd-2.4.46-win64-VS16Apache24confhttpd.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-x64php.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-VS16Apache24modules 目录;

      修改 D:httpd-2.4.46-win64-VS16Apache24confhttpd.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-VS16Apache24confextrahttpd-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

  • 相关阅读:
    正向代理/反向代理理解、Nginx概述、安装及配置详解
    项目部署问题:xftp无法连接服务器、Nginx403 Forbidden解决、nginx反向代理解决前端跨域问题
    Vue上传文件:ElementUI中的upload实现
    理解Vue的计算属性
    今天在CSDN看懂这个帖子,也是我的困惑,记录一下(过了三十的码农,你选择的是哪个,说出你的想法)
    WCF IIS上部署服务
    [转]WCF RESTful service and WebGrid in ASP.NET MVC 5
    WCF 与其它技术的比较
    Visual Studio Debug和Release的区别及obj的作用
    C# Json格式字符串
  • 原文地址:https://www.cnblogs.com/ziyu-trip/p/7265123.html
Copyright © 2011-2022 走看看