pthread运行报错:Class 'Thread'未找到的解决方法咨询
解决PHP中Class 'Thread' not found的问题
针对你遇到的Fatal error: Class 'Thread' not found错误,结合你的环境配置(PHP7.0.30 + 线程安全版 + VC14 + x86 + pthreads3.1.2),可以按以下步骤排查解决:
1. 确认修改的是正确的php.ini文件
XAMPP环境下存在多个php.ini文件:
- 用于Apache web服务的php.ini通常在
D:/xampp/php/php.ini - 用于CLI命令行的php.ini可能是
D:/xampp/php/php-cli.ini
你可以在网页中运行phpinfo(),查看Loaded Configuration File项,确认当前PHP环境加载的是你修改的那个php.ini文件。
2. 重启Web服务/PHP进程
修改php.ini后必须重启Apache服务,否则扩展配置不会生效。在XAMPP控制面板中停止并重新启动Apache即可。
3. 确保pthreadVC2.dll的依赖可被找到
将pthreadVC2.dll复制到以下两个位置之一,确保PHP进程能加载到这个依赖库:
- 系统目录:32位Windows放到
C:/Windows/System32,64位Windows放到C:/Windows/SysWOW64 - 或者将
D:/xampp/php目录添加到系统的PATH环境变量中
4. 验证扩展是否成功加载
- 网页方式:在网页中运行
phpinfo(),搜索pthreads,如果能看到对应的模块信息,说明扩展加载成功。 - CLI方式:打开命令提示符,切换到
D:/xampp/php目录,运行命令php -m,查看输出列表中是否包含pthreads。
如果扩展未加载,检查php.ini中的extension=php_pthreads.dll是否拼写正确,且没有被注释(前面没有分号;)。
5. 尝试用CLI模式运行代码
pthreads扩展在Apache的mod_php环境下可能存在兼容性问题,建议先通过命令行运行代码测试:
- 将代码保存为
test_threads.php - 打开命令提示符,切换到文件所在目录
- 运行命令
php test_threads.php
如果CLI模式能正常运行,说明问题出在Web服务的环境配置上。
6. 检查文件权限
确保D:/xampp/php/pthreadVC2.dll和D:/xampp/ext/php_pthreads.dll这两个文件的权限允许Apache/PHP进程读取,避免因权限不足导致无法加载扩展。
内容的提问来源于stack exchange,提问作者Harshit
相关产品推荐
相关产品推荐

