windows环境下php8.2+apache2.4的安装和配置

参考文档

安装参考的文档

php 的依赖管理

apache 服务器的下载、安装和运行

下载

下载地址:https://www.apachelounge.com/download/

当前最新版本:https://www.apachelounge.com/download/VS17/binaries/httpd-2.4.62-240904-win64-VS17.zip

安装

把下载后的zip压缩包解压到任意目录即完成了安装。

配置

修改 apache 安装目录下的 conf/httpd.conf,需要修改的内容如下:

  • 查找 Define SRVROOT,修改为 apache 的安装目录,例如:Define SRVROOT "D:/dev/Apache24"
  • 默认启动端口是80,如要修改端口号,查找 Listen,然后修改为指定端口,例如:Listen 8421

创建系统服务

 1D:\> cd D:\dev\Apache24\bin
 2
 3
 4D:\dev\Apache24\bin> httpd -k install -n apache
 5Installing the 'apache' service
 6The 'apache' service is successfully installed.
 7Testing httpd.conf....
 8Errors reported here must be corrected before the service can be started.
 9AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::70a5:325b:5ac7:e7a2. Set the 'ServerName' direc
10tive globally to suppress this message
11
12
13D:\dev\Apache24\bin> sc start apache
14SERVICE_NAME: apache
15        TYPE               : 10  WIN32_OWN_PROCESS
16        STATE              : 2  START_PENDING
17                                (NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
18        WIN32_EXIT_CODE    : 0  (0x0)
19        SERVICE_EXIT_CODE  : 0  (0x0)
20        CHECKPOINT         : 0x2
21        WAIT_HINT          : 0x7530
22        PID                : 45656
23        FLAGS              :

-n 为可选项,表示系统服务的名称

上面的安装有个Error,因为没有在httpd.conf中设置 ServerName

这个错误对服务运行没有影响。

由于是本地环境,没有域名,就不需要理会。外网访问的话,可以加上。

测试

在浏览器中访问: http://localhost:8421/

如果看到:It works!表示安装成功。

php8.2 的下载、安装和运行

下载

下载地址: https://windows.php.net/download/

PHP 分为 TS(Thread Safe)和 NTS(Non Thread Safe)版本;一般来说:

  • Apache + PHP 选 TS
  • IIS + PHP 或 Nginx + PHP 选 NTS

这里我们使用 Apache,因此下载 TS 版本:https://windows.php.net/downloads/releases/php-8.2.27-Win32-vs16-x64.zip

安装

把下载后的zip压缩包解压到任意目录即完成了安装。强烈建议把安装目录加入环境变量中。

配置

在php安装目录下,复制一份 php.ini-development 为 php.ini。

修改 php.ini,去掉下面的注释(即:去掉前面的分号)

  • extension_dir = “D:/dev/php-8.2.27/ext”
  • extension=gd
  • extension=mbstring
  • extension=mysqli
  • extension=openssl

说明:extension=XXX 表示扩展配置,非必须,根据实际情况开启即可。

在Apache中引入PHP模块

修改 apache 安装目录下的 conf/httpd.conf,内容如下:

  • 在第185行左右的位置(前面有一些LoadModule配置)将PHP中的Apache2.4模块引入:
    1LoadModule php_module "D:/dev/php-8.2.27/php8apache2_4.dll"
    2<FilesMatch ".php$">
    3    SetHandler application/x-httpd-php
    4</FilesMatch>
    5PHPIniDir "D:/dev/php-8.2.27"
    6LoadFile "D:/dev/php-8.2.27/libssh2.dll"
    
  • 配置初始的索引页面,加入 index.php :
    1<IfModule dir_module>
    2    DirectoryIndex index.html index.htm index.php
    3</IfModule>
    

测试运行

Apache的默认站点根目录为htdocs,这个目录就是php文件运行的根目录,所有的php文件都要放到htdocs目录下运行。

在htdocs目录下创建index.php文件(去掉原有的index.html),内容如下:

1<?php
2    phpinfo();
3?>

重启apache服务器,在浏览器中访问: http://localhost:8421/

如果看到php的安装信息表示安装成功。

说明:也可以自己更改工作目录,查找 apache 的 conf/httpd.conf 中的DocumentRoot和Directory字段,后面的路径改成自己定义的工作路径即可。

php的依赖管理工具 Composer 的安装和使用

Composer的介绍请参考:https://docs.phpcomposer.com/00-intro.html

安装和配置 Composer

Composer在网上有详细的安装方法介绍,都是通过exe进行安装。本人无意中看到一种免安装的方法:

https://blog.csdn.net/weixin_42571089/article/details/119974441

经测试可用。方法如下:

  1. https://getcomposer.org/download/ 下载 composer.phar,最新版本的下载地址为:https://getcomposer.org/download/2.8.4/composer.phar 。下载至php安装目录即可。
  2. 在php安装目录中新建composer.bat文件,内容如下:
    1@php "%~dp0composer.phar" %*
    
  3. 把php安装目录添加到系统环境变量中
  4. php.ini文件去掉extension=openssl的注释

验证:在cmd中运行composer –version,看到如下内容说明配置成功!

1C:\Users\zhangcong>composer --version
2Composer version 2.8.4 2024-12-11 11:57:47
3PHP version 8.2.27 (D:\dev\php-8.2.27\php.exe)
4Run the "diagnose" command to get more detailed diagnostics output.

使用 Composer

我们以安装 laravel 为例进行测试

1# 安装最新的 laravel 到 blog 目录
2composer create-project --prefer-dist laravel/laravel blog
3
4# 安装指定版本的 laravel 到 bbs 目录
5composer create-project --prefer-dist laravel/laravel bbs "9.*"

安装完毕后,指定的目录下面已经生成了相关文件了。

Composer 切换国内源

如果 Composer 安装依赖缓慢,可设置为国内源:

1composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/