【小白专用23.10.22 已验证】windows 11 安装PHP8.2 +Apache2.4
环境说明
- windows:windows 11 x64
- apache: Apache/2.4.43
- php :php-8.2.11
一.php
1、PHP下载
PHP For Windows: Binaries and sources Releases

注意:
1.要下载Thread Safe,否则没有php8apache2_4.dll这个文件;如果使用Apache作为服务器的话,一定要下载Thread Safe的 如果使用IIS的请下载 NON Tread safe的
2.如果是64位系统要下载x64的,x86的不行
3.下载Zip
2、PHP解压安装
将Zip进行解压,里面的内容放置到D:\tool\php,其中php8apache2_4.dll在PHP的安装路径下

3、PHP配置
3.1把php文件夹中的php.ini-development复制一份,并修改为:php.ini。

3.2修改php.ini:将;extension_dir = “ext” 修改为 extension_dir = “D:/tool/php/ext” (去掉extension前面的分号,ext的路径)


PHP安装成功测试,大前提,Apache是开启状态
二、下载安装配置Apache:
1、Apache下载
Apache 中文网 官网 (p2hp.com)





3、Apache安装
下载下后解压缩。如解压到D:\tool\Apache24
4、Apache配置
4.1找到 Apache 解压目录中的 conf 目录下的 httpd.conf 文件:
4.1.1修改:Define SRVROOT,将Define SRVROOT “Apache24的路径”,即Apache程序的位置(Apache文件夹目录)


端口(默认80,避免被占用可以使用小于65535的大端口):因80端口容易冲突,改为8081或其他

4.1.2添加如下代码:

LoadModule php_module "D:/tool/php/php8apache2_4.dll"
PHPIniDir "D:/tool/php/"
AddType application/x-httpd-php .php .html .htm
4.1.3修改DocumentRoot 和< Directory >,后边分别添加虚拟目录。
将引号内容改为自己实际目录,为php项目的存放目录, //网站的根目录 如 E:\www

5、运行Apache
1)开始 --- 运行或win+r,输入cmd ,打开命令提示符。
输入d:回车;cd tool\Apache24\bin回车; httpd -t回车;
如果httpd.conf配置正确的话,输入httpd -t回车后,查看是否有错误。
如下图所示:正确。

2)执行命令:httpd -k install -n Apache2.4,安装Apache服务
httpd -k install -n Apache2.4 #-n后面表示自定义访问名称
用管理员权限打开cmd


4、卸载Apache
执行命令
sc delete apache2.4

或者执行命令:
httpd -k uninstall -n apache2.4

启动Apache服务。浏览器访问localhost,出现:It works!成功启动。
双击运行解压目录/bin下的ApacheMonitor.exe


6.测试:
在D:\tool\www根目录新建index.php文件
<?php
echo "Hello World!";
?>

在浏览器访问 http://127.0.0.1:8081/index.php
显示Hello World!即配置成功

PHP与sql server连接测试
【驱动文件安装】
1、下载驱动文件,在微软官网找到了:
Microsoft Drivers for PHP for SQL Server
下载 Microsoft Drivers for PHP for SQL Server - PHP drivers for SQL Server | Microsoft Learn


Microsoft Drivers for PHP 发行说明 - PHP drivers for SQL Server | Microsoft Learn
2.解压把扩展文件对应的版本移动到PHP对应的目录下的ext目录;
4、更改PHP的配置文件,添加扩展,(以php8.2为例)
extension=php_pdo_sqlsrv_82_ts_x64
extension=php_sqlsrv_82_ts_x64

【 ODBC程序安装】
二、安装ODBC程序
官方下载地址:
Microsoft ODBC Driver for SQL Server - ODBC Driver for SQL Server | Microsoft Learn



系统要求 - PHP drivers for SQL Server | Microsoft Learn
Microsoft Drivers for PHP 支持矩阵 - PHP drivers for SQL Server | Microsoft Learn



php使用sqlserver
1、安装ODBC程序
官方下载地址:Download ODBC Driver for SQL Server - ODBC Driver for SQL Server | Microsoft Docs
2、下载sqlsrv扩展文件
官方下载地址:Download the Microsoft Drivers for PHP for SQL Server - PHP drivers for SQL Server | Microsoft Docs
3、把扩展文件对应的版本移动到PHP对应的目录下的ext目录;
4、更改PHP的配置文件,添加扩展,(以php8.2为例)
extension=php_pdo_sqlsrv_82_ts_x64
extension=php_sqlsrv_82_ts_x64



5、重启apache服务,测试连接5.
<?php$serverName = "aliwks.cn,5768";$connectionInfo = array( "Database"=>"DBAliSys", "UID"=>"test_db", "PWD"=>"aliaba123");$conn = sqlsrv_connect( $serverName, $connectionInfo );if( $conn ) {echo "1连接成功";}
else
{echo "1连接失败";
}?><?php$server = 'aliwks.cn,5768';
$username = 'test_d';
$password = 'aliaba123';
$database = 'DBAliSys';
$conn = sqlsrv_connect($server, array('UID'=>$username, 'PWD'=>$password, 'Database'=>$database));if( $conn ) {echo "2连接成功";}
else
{echo "2连接失败";
}?>

相关文章:
【小白专用23.10.22 已验证】windows 11 安装PHP8.2 +Apache2.4
环境说明 windows:windows 11 x64apache: Apache/2.4.43php :php-8.2.11 一.php 1、PHP下载 PHP For Windows: Binaries and sources Releases 注意: 1.要下载Thread Safe,否则没有php8apache2_4.dll这个文件;如果使用Apache作为服务器…...
Nmap端口服务 之 CentOS7 关于启动Apache(httpd)服务、telnet服务、smtp服务、ftp服务、sftp服务
Nmap端口服务 之 CentOS7 关于启动Apache(httpd)服务、telnet服务、smtp服务、ftp服务、sftp服务 一. CentOS7 安装配置SFTP服务器详解一、SFTP简介二、关闭防火墙三、安装SSH服务在CentOS7中,sftp只是ssh的一部分,所以采用yum来安装ssh服务即可1. 查看是否已经安装了ssh2.…...
为什么 glBegin 未被定义 未定义的标识符,使用新的 API(LearnOpenGL P2)
文章目录 弃用的 glBegin & glEnd使用新 API 的示例 弃用的 glBegin & glEnd 环境:glfw 3.3.8 glad core OpenGL 初学者在尝试使用 glBegin 和 glEnd 函数来绘制三角形时,有可能找到使用这些函数的文章、代码文献 但许多这些函数已经在OpenG…...
C++多态、虚函数、纯虚函数、抽象类
多态的概念 通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。 举个简单的例子:抢红包,我们每个人都只需要点击一下红包,就会抢到金额。有些人能…...
20231019_vue学习
引入vue.js: <script src"https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script> vue.js <script src"https://cdn.staticfile.org/vue-router/2.7.0/vue-router.min.js"></script> 路由vue模板语法 v-html:添加html模板…...
熟练使用 Redis 的五大数据结构:Java 实战教程
入门 入门阶段主要记住 Redis 的命令,熟练使用 Redis 的 5 大数据结构就可以了。 如果没有 Redis 环境,可以直接通过这个网址https://try.redis.io/,很赞,它会给你模拟一个在线的环境可供你尽情使用! 熟练使用Redis的…...
【Linux】kill 命令使用
经常用kill -9 XXX 。一直在kill,除了kill -9 -15 ,还能做什么?今天咱们一起学习一下。 kill 命令用于删除执行中的程序或工作。 kill命令 -Linux手册页 命令选项及作用 执行令 man kill 执行命令结果 参数 -l 信号,若果…...
面试-Redis-缓存雪崩
问:什么是缓存雪崩 ? 答:缓存过期是指设置缓存时都采用了同一过期时间,导致缓存在莫一时刻同时失效,从而请求全部全部打到数据库中,导致数据库压力过大而挂机。 它与缓存击穿的区别是:缓存击穿是一个key…...
AI全栈大模型工程师(九)Function Calling 的机制
文章目录 Function Calling 的机制Function Calling 示例 1:加法计算器Function Calling 实例 2:四则混合运算计算器后记Function Calling 的机制 Function Calling 示例 1:加法计算器 需求:用户输入任意可以用加法解决的问题,都能得到计算结果。 # 加载环境变量import o…...
音乐制作软件 Ableton Live 11 Suite mac中文版功能介绍
Ableton Live 11 Suite mac是一款专业级别的音乐制作软件,它提供了多种音乐制作和编辑功能,可以帮助用户创建各种音乐作品。界面简单直观,可以方便地进行各种音乐制作操作。它提供了丰富的音乐制作工具和功能,如录音、采样、编曲、…...
v-model和.sync区别
在vue2中提供了.sync修饰符,但是在vue3中不再支持.sync,取而代之的是v-model。 1.在vue2中v-model和.sync区别: 1.相同点:都是语法糖,都可以实现父子组件中的数据的双向通信。 区别在于往回传值的时候. sync 的 $…...
django cloudflare csrf 403
网站套了cloudflare flare发现登录接口403了,csrf验证失败, debug设置为False 详细报错如下: Reason given for failure: Referer checking failed - https://xxx/login does not match any trusted origins.In general, this can occur w…...
Hive 中级练习题(40题 待更新)
前言 最近快一周没更了,主要原因是最近在忙另一件事情(关于JavaFX桌面软件开发),眼看大三上一半时间就要过去了,抓紧先学Hive,完了把 Spark 剩下的补了,还有 Kafka、Flume,任务还是…...
核酸检测人员安排
题目描述: 在系统、网络均正常的情况下组织核酸采样员和志愿者对人群进行核酸检测筛查。每名采样员的效率不同,采样效率为N人/小时。由于外界变化,采样员的效率会以M人/小时为粒度发生变化,M为采样效率浮动粒度,M=N10%,输入保证N10%的结果为整数。采样员效率浮动规则:采…...
Vue组件间传值
一、父传子 子组件中定义一个props,用来取出父组件传来的值 <script>export default {props:[msg] //子组件定义props} </script> 在父组件中对子组件的自定义属性绑定父组件的变量 <template><div class"parent">//子组件&a…...
《低代码指南》——维格云和Airtable的比较
Airtable 什么是Airtable Airtable 是一个任务管理应用程序,它合并了电子表格、数据存储和模板,以帮助组织构建他们的工作流程。 适用于哪些企业/组织/人群 根据 Airtable 网站,该工具被超过 200,000 个组织的团队使用。 维格表与Airtable相比如何 Airtable作为…...
牛客:NC59 矩阵的最小路径和
牛客:NC59 矩阵的最小路径和 文章目录 牛客:NC59 矩阵的最小路径和题目描述题解思路题解代码 题目描述 题解思路 动态规划,递推公式:matrix[i][j] min(matrix[i-1][j], matrix[i][j-1]) 题解代码 func minPathSum( matrix [][…...
20231017定时任务
1. 构建定时任务 表达式生成 在线Cron表达式生成器 1.1 启动类 1.2 测试范例 描述: 1,将该类用Component描述,交给spring管理. 2,定时任务方法用Scheduled+cron表达式描述 2. 定时任务的弊端和优化方案 1.假如有一个定时任务,每小时检查关闭超时未支付订单,当10…...
通讯录和内存动态管理
目录 (通讯录)动态增长版 实现效果 找单身狗 题目 源码 思路 三个内存函数的模拟实现 模拟实现strncpy 模拟实现strncat 模拟实现atoi (通讯录)动态增长版 该版本通讯录在原版的基础上增加了检查容量函数,实现了通讯录的动态…...
安全渗透测试之网络基础知识(IP地址)
#1.IP地址介绍 注意:不同局域网需要有不同的网络部分,通过网络部分区别出网段/网络; 局域网内部,主机部分不能一样,否则会出现地址冲突 范围:0.0.0.0-255.255.255.255 表示:点分十进制 组成:由网络部分和主机部分组成 192.168.1.1 1.1.1.1 255.254.188.2 二进制:00000…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
