Windows 10下USBWebserver加载PHP sqlite3等扩展失败求助
问题分析与解决方法
首先明确:路径混用/和\不是问题根源,Windows系统对两种路径分隔符都兼容,报错的核心原因是扩展无法被正确加载,以下是具体排查和解决步骤:
1. 检查依赖库是否缺失
PHP扩展(如curl、sqlite3)依赖额外的系统库或PHP根目录中的配套DLL文件:
- 确认PHP根目录(
Z:/_SERVER_/php)下存在libcurl.dll、sqlite3.dll这类依赖文件,若缺失,从PHP官方下载对应8.1.7版本的x64线程安全(TS)包,将依赖DLL复制到PHP根目录。 - 将PHP根目录添加到系统环境变量
PATH中:右键「此电脑」→ 属性 → 高级系统设置 → 环境变量,在系统变量的PATH里新增Z:/_SERVER_/php,保存后重启服务器。
2. 确认扩展与PHP版本/线程安全匹配
USBWebserver内置的PHP为线程安全(TS)版本,需确保ext目录中的扩展文件与PHP的版本(8.1.7)、架构(x64)、线程安全属性完全一致:
- 若内置扩展文件损坏,去PHP官方下载对应8.1.7 x64 TS版本的扩展包,替换
php/ext目录下的php_curl.dll、php_sqlite3.dll、php_pdo_sqlite.dll。 - 也可重新下载完整的USBWebserver v10包,覆盖现有文件修复损坏。
3. 修正php.ini中的extension_dir配置
打开php/目录下的php.ini文件,检查extension_dir配置:
- 将其设置为绝对路径并使用统一分隔符,例如:
或extension_dir = "Z:/_SERVER_/php/ext"extension_dir = "Z:\\_SERVER_\\php\\ext" - 保存后重启USBWebserver生效。
4. 排查权限问题
Windows权限限制可能导致服务器进程无法读取扩展文件:
- 右键USBWebserver的启动程序,选择「以管理员身份运行」。
- 右键
php/ext目录 → 属性 → 安全,给Everyone用户添加「读取」权限。
内容的提问来源于stack exchange,提问作者qraqatit
相关产品推荐
相关产品推荐

