惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
Microsoft Security Blog
Microsoft Security Blog
Jina AI
Jina AI
博客园 - 叶小钗
J
Java Code Geeks
博客园 - 聂微东
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
美团技术团队
WordPress大学
WordPress大学
M
MIT News - Artificial intelligence
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
罗磊的独立博客
T
The Blog of Author Tim Ferriss
aimingoo的专栏
aimingoo的专栏
T
Tailwind CSS Blog
The Cloudflare Blog
Stack Overflow Blog
Stack Overflow Blog
N
Netflix TechBlog - Medium
小众软件
小众软件

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解
【php】老旧PHP项目(PHP 5.6)本地环境搭建与踩坑记录
神净讨魔765 · 2026-05-15 · via 博客园_首页

本人Java开发,刚入职新公司,对PHP不熟。本文记录了在Windows环境下使用XAMPP搭建一个老旧PHP项目(需要PHP 5.6)的完整过程,以及遇到的各种问题和解决方案。方便自己备忘,也供遇到类似情况的同事参考。

目录

1.环境准备:XAMPP老版本安装

2.IDE安装:PhpStorm(含破解)

3.获取项目代码

4.项目部署到XAMPP

5.验证XAMPP运行正常

6.踩坑记录与解决方案

6.1 页面显示源码(短标签未开启)

6.2 文件路径错误(xml_config.php找不到)

6.3 缺少MDB2.php

6.4 缺少Lite.php

6.5 数据库驱动问题:从MDB2_mssql迁移到sqlsrv

6.6 缺少MDB2_Driver_sqlsrv

6.7 数据库连接代码适配sqlsrv

6.8 PEAR依赖路径修复(解决include路径问题)

1.项目比较老了,有很多新的php不支持的函数,所以就找了XAMPP里面比较老的版本,版本号5.6.40
image
image
image
image
image
下载完成后安装

2.安装ide,我这里下载的是phpStorm,好像其他人用vs比较多,也可以。主要我是因为之前安装idea的时候正好有注册码,所以就一起弄了
image
image
下载完成后安装
安装完毕后开始破解,这里我用的破解方法是https://ckey.run
image
image
这里因为我电脑上有idea,所以打开phpStorm的时候会提示可以导入idea的配置
image
这里确认是否注册成功,这个时间对了就算破解成功了
image
image

3.从GitHub或者网上代码管理平台把你的项目克隆下来
image
image
image
这里会提示让你输入克隆的账号密码,具体就看不同平台的设置,这里不过多赘述
image

4.将你的项目文件夹放在XAMPP/htdocs下(也可以步骤3就下载到这个路径下)

5.打开xampp_start.exe,待启动完成后我们可以在浏览器输入http://localhost/如果启动成功则会自动跳转http://localhost/dashboard并显示以下页面
image
我们也可以点击PHPInfo查看php相关配置
image

6.这时候我们可以将url改成http://localhost/xxx (xxx表示你刚刚复制进去htdocs的项目的文件名)
以我的项目举例,我的项目名称是web,则我输入的就是http://localhost/web
image

7.接下来就是一系列错误修改了:

a.进来看到全是源码
image
这个问题是php存在短标签(<?代替了<?php)而你的php版本没开启
我们用文本打开XAMPP/php/php.ini(或者打开xampp-control.exe通过点击config下面的php(php.ini)跳转)
image
搜索short_open_tag=Off,把Off改成On后重启XAMPP
image

b.显示“*** Warning *** File Missing: xml_config.php”
经过排查是因为代码中
if(!file_exists($_SERVER["DOCUMENT_ROOT"] . "/App_lib/_base/xml_config.php")) die('*** Warning *** File Missing: xml_config.php');
$_SERVER["DOCUMENT_ROOT"]定位的是D:/XAMPP/htdocs(就是你安装apache后系统自动帮你生成的)而项目代码需要定位到D:/XAMPP/htdocs/web才行
解决方案:这里我用了一个比较偷懒的方法:直接修改D:\XAMPP\apache\conf\httpd.conf下面的DocumentRoot和Directory,因为我这里只有一个php项目所以就这么操作了,不过代价就是localhost进页面的话就直接到项目里了
image
好的不报错了,又到了下一个问题了
image

c.这里提示没有MDB2.php文件,我看网上是直接用pear install MDB2,但我这里失败了,所以我直接去pear的官网下载了(这里提醒下记得用edge浏览器,谷歌浏览器可能因为兼容性问题导致无法下载)
https://pear.php.net/
image
image
image
image
image
因为是require_once(MDB2.php)函数,所以我们只需要把刚刚下载的文件加压到conf_db_connection.php同个目录下就可以了

d.这个问题跟c一样,也是去pear官网下载Lite.php,注意一下路径问题就好
image

e.好的下一个问题,这里显示我没有MDB2 sql server的驱动
image
之前的经验是一股脑儿的捣鼓怎么用MDB2_Driver_mssql这个旧驱动实现,但其中波折太多,而且旧版本的东西也不好下载,几番周折后最后选择放弃,拥抱sqlsrv
具体踩坑可以参考一下这篇文章:
[https://blog.csdn.net/HMdBmqqj/article/details/146378430]
要使用sqlsrv连接数据库的话首先需要下载php_sqlsrv_56_ts.dll,php_pdo_sqlsrv_56_ts.dll
具体需要下载哪个版本的的驱动可以参考这里
https://learn.microsoft.com/zh-hk/sql/connect/php/release-notes-php-sql-driver?view=sql-server-ver17#32
image
但是呢后面经过一番测试发现微软官方提供的3.2版本下载下来的驱动文件是32位的,现在机器64位的不支持
然后我找到了这篇文章,文章里面提供了64位驱动的下载地址
https://blog.csdn.net/flightsmallbird/article/details/86620893
然后将下载后的64位驱动文件php_sqlsrv_56_ts.dll,php_pdo_sqlsrv_56_ts.dll放入D:\XAMPP\php\ext中
接着修改D:\XAMPP\php\php.ini,添加
extension=php_sqlsrv_56_ts.dll
extension=php_pdo_sqlsrv_56_ts.dll
image
再调用sqlsrv前我们还需要安装ODBC Driver,下载完成后一路安装就好
image
image
安装好后修改下代码中连接数据库的方式:

define("DB_TYPE", "mssql", true);
改为
define("DB_TYPE", "sqlsrv", true);
最后重启apache

f.重启后发现报错不一样了,这里提示缺少MDB2_Driver_sqlsrv
image
那我们还是一样,去pear上下载
image
按照报错路径把下载的MDB2文件夹放入对应文件夹下,重新启动apache
image

g.这里出现的错误就是数据库连接的问题,就看代码发现之前代码用的都是mssql连接,没有sqlsrv,那么我们加上就好了(这里其实还有个地图功能没调用的问题,因为代码都是在另一个测试环境运行的,本地测试环境无法获取另一个测试环境的地图信息,后续有空再研究,暂时屏蔽了)
image
image
image

h.然后可能是因为配置问题,项目上有很多include函数调用位置错误的,这里用在index.php里卖弄修改pear的依赖路径,这样代码里面就不需要再做修改了
因为我的index.php一开始就调用了另一个php,所以我直接在<? 后面添加了修复依赖路径的代码
//修复PEAR的依赖路径 set_include_path( __DIR__ . '/App_lib/_base' . PATH_SEPARATOR . ini_get('include_path') );
image

后面再重新刷新就可以登录到首页啦!大功告成!