行业知识
Windows 11 本地 php 开发环境搭建:PHP + Apache + MySQL +VSCode 安装和环境配置
目录
- 前言
- 1. PHP 的下载、安装和配置
- 1.1 下载 php
- 1.2 安装 php
- 1.3 配置 php 系统变量
- 1.4 配置 php.ini
- 2. Apache 的下载、安装和配置
- 2.1 下载 Apache
- 2.2 安装 Apache
- 2.3 修改配置 Apache
- 2.4 指定服务端口(非必须)
- 2.5 配置系统变量
- 2.6 安装服务
- 2.7 Apache 环境开启 htaccess 伪静态(可选)
- 2.8 启动服务
- 3. 整合 PHP、Apache
- 3.1 配置 apache 支持 php
- 3.2 修改网站默认首页
- 3.3 修改Apache 默认的站点目录
- 3.4 测试 php 网站
- 4. 安装 php 依赖管理工具:Composer
- 4.1 下载 Composer
- 4.2 安装 Composer:方式一
- 4.3 安装 Composer:方式二
- 4.4 更改 Composer 镜像
- 5. VsCode 配置
- 5.1 安装 vs code 插件
- 5.2 下载和配置 Xdebug 库
- 5.3 调试运行 debug
- 6. MySQL在Windows 环境中的安装
- 7. 附:Xdebug3 参数说明
- 7.1 xdebug.mode
- 7.2 start_with_request
前言
最近有空整理一下php 在windows上面的环境配置。原因是发现网上大多数php环境配置的相关帖子内容凌乱、多数是不能配置成功的。所以决定全部走一遍配置,以确保整个过程是成功的。并在此基础上开个帖子记录下这个完整的安装和配置过程,以备忘和供有需要的同学参考。
1. PHP 的下载、安装和配置
1.1 下载 php
官方下载地址:https://windows.php.net/downloads/releases/
我这里没有下载最新版,而是 php-7.4.33-Win32-vc15-x64.zip
1.2 安装 php
将下载的 zip 压缩包解压到安装目录: E:\Software\PHProgram\PHP(我的位置)
1.3 配置 php 系统变量
将 PHP 的安装目录(如 E:\Software\PHProgram\PHP)添加到 系统变量 的 Path 变量中:
1.4 配置 php.ini
将 PHP 目录下的php.ini-development,复制一份并重命名为 php.ini,作为PHP的配置文件。
编辑php.ini文件:
-
设置PHP扩展包的具体目录
找到:
; On windows:; extension_dir = “ext”
修改为:
; On windows:extension_dir = “E:\Software\PHProgram\PHP\ext”
-
开启相应的库功能
搜索 “;extension= ”,定位并开启所需的库功能:
-
设置时区
找到
;date.timezone =
修改为:
date.timezone = Asia/Shanghai
-
检查是否安装成功
cmd 中输入检查版本的命令:
php -v
2. Apache 的下载、安装和配置
2.1 下载 Apache
安装包官方下载地址:https://www.apachelounge.com/download/VS16/
下载的 ZIP 文件是:httpd-2.4.57-win64-VS16.zip
2.2 安装 Apache
将下载的zip 文件解压到 E:\Software\PHProgram\Apache-2.4.57\Apache24
2.3 修改配置 Apache
找到 Apache24\conf 目录下的 httpd.conf 文件,用记事本打开,并转到 Define SRVROOT “c:/Apache24”
修改为:
# ServerRoot at a non-local disk, be sure to specify a local disk on the# Mutex directive, if file-based mutexes are used. If you wish to share the# same ServerRoot for multiple httpd daemons, you will need to change at# least PidFile.#Define SRVROOT "E:\Software\PHProgram\Apache2.4.57\Apache24"ServerRoot "${SRVROOT}"## Mutex: Allows you to set the mutex mechanism and mutex file directory2.4 指定服务端口(非必须)
定位到 Listen 80,改为其它端口
# Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses.##Listen 12.34.56.78:80Listen 8888## Dynamic Shared Object (DSO) Support
Apache 默认端口为80,为避免端口冲突,可修改为其他端口。如使用默认80端口,则通过http://localhost 即可访问,如使用修改后的端口,则必须加端口号:如 http://localhost:8888
2.5 配置系统变量
2.6 安装服务
必须以 管理员身份 运行 cmd ,然后进入 Apache\bin 目录
C:\WINDOWS\system32> e:E:\> cd Software\PHProgram\Apache-2.4.57\Apache24\binE:\Software\PHProgram\Apache-2.4.57\Apache24\bin> httpd -k install -n Apache2.4
如果要移除服务:cmd 中输入 sc delete Apache2.4 后回车
2.7 Apache 环境开启 htaccess 伪静态(可选)
-
什么是伪静态 ?
伪静态其实是相对真实静态来讲的,伪静态只是改变了URL的显示形式,实际上还是一个动态的页面。伪静态的页面后缀可以是html、htm或者是目录格式等。像thinkphp等框架的pathinfo模式,也是伪静态的一种。
-
为什么要用伪静态 ?
Ⅰ为了seo优化,伪静态有利于搜索引擎的收录,能够增加网站优化效果;
Ⅱ 为了让URL看起来更简单,更加友好易读,也给人一种专业性的感觉。
Apache 服务器上开启和通过.htaccess文件来配置伪静态:
1)在 Apache 配置文件httpd.conf中启用Rewrite
打开httpd.conf,定位到代码:
#LoadModule rewrite_module modules/mod_rewrite.so
2)把前面#去掉。没有则添加,但必须独占一行,以使 apache 支持 mod_rewrite 模块。
LoadModule rewrite_module modules/mod_rewrite.so
3)继续在 httpd.conf 搜索定位 AllowOverride,并把后面的参数从None全部改成All
4)配置.htaccess 伪静态规则
-
在要启用伪静态的项目的根目录(如 www)下建立 .htaccess 文件
-
在.htaccess 文件中输入以下内容(或开源项目本身指定的内容)
Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f #RewriteRule RewriteRule index.html$ index.php #RewriteRule ^(.*?).html$ index.php?.html [QSA,PT,L] #RewriteRule ^/index([0-9]*).html$ /index.php?id= #更多伪静态规则2.8 启动服务
-
方式一
打开 Apache/bin 目录下的 ApacheMonitor.exe启动 Apache;
-
方式二
服务 >> Apache 2.4 右键 启动
测试是否安装成功:
在浏览器中输入HTTP://localhost:8888(此处8888是我选择的端口)验证服务是否成功搭建
或者查看系统服务:
安装成功!
3. 整合 PHP、Apache
3.1 配置 apache 支持 php
1)打开 Apache24\conf 目录下的配置文件 httpd.conf,并定位到:
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
2)在下方添加:
LoadModule php7_module "E:/Software/PHProgram/PHP/php7apache2_4.dll"PHPIniDir "E:/Software/PHProgram/PHP"AddType application/x-httpd-php .php .html .htm
注:这里安装的是PHP7,假如是PHP8,则应相应地换成php8_module、php8apache2_4.dll等
3.2 修改网站默认首页
找到:
DirectoryIndex index.html
4)改为:
DirectoryIndex index.php index.html
3.3 修改Apache 默认的站点目录
1)在 E:\Software\PHProgram 下,新建 一个名为 www 的文件夹,做为网站根目录;
2)在 httpd.conf 中,找到如下代码:
# DocumentRoot: The directory out of which you will serve your# documents. By default, all requests are taken from this directory, but# symbolic links and aliases may be used to point to other locations.#DocumentRoot "${SRVROOT}/htdocs"修改为:
# DocumentRoot: The directory out of which you will serve your# documents. By default, all requests are taken from this directory, but# symbolic links and aliases may be used to point to other locations.#DocumentRoot "E:\Software\PHProgram\www"
-
-
-
-
-
-