必须三步全部通过才算就位:状态为“已安装”且右侧有“启用”按钮;对应文件夹内存在php-cgi.exe、php.ini和ext/目录;双击php-cgi.exe能短暂弹窗后自动退出。

你需要在本地同时运行PHP 7.4的老项目和PHP 8.2的新模块,但又不想反复卸载重装、不敢动服务器配置、怕切错版本导致网站白屏——phpStudy Pro的永久免费版正好满足这个需求,它不依赖订阅、不弹广告、所有多版本管理功能全开,关键在于把“已安装”和“已启用”两个状态真正跑通。
确认目标PHP版本已就位
界面下拉菜单里看到PHP-8.2,不等于它能用。必须三步全部通过才算就位:
第一步:打开phpStudy → 设置 → PHP版本管理,找到PHP-8.2那一行,确认状态列显示【已安装】且右侧按钮是“启用”(不是“安装”或灰色不可点)。
第二步:双击打开对应文件夹(如/Applications/phpstudy_pro/Extensions/php/php-8.2.12nts/),检查是否存在php-cgi.exe、php.ini和ext/子目录;缺任何一个,后续切换必然失败。
第三步:双击该目录下的php-cgi.exe——若弹窗一闪即退,说明VC运行库已就绪;若报“vcruntime140.dll缺失”,必须单独安装VC_redist.x64.exe,否则Apache/Nginx启动时会直接卡死。
全局默认版本切换
顶部工具栏的「PHP版本」下拉菜单控制的是整个Web服务的默认PHP,影响所有未单独绑定的站点。操作路径极简:
点击顶部PHP下拉框 → 选择PHP-8.2 → 点击右侧“切换”按钮 → 等待右下角服务灯由黄变绿。
这一步只改全局调度,不碰任何配置文件,但【切换后必须重启Apache/Nginx服务】,否则请求仍走旧版本进程。
为单个网站绑定指定PHP版本
这才是项目级隔离的核心操作,老项目锁7.4、新模块跑8.2,互不干扰:
方法一:进「网站 → 管理 → PHP版本」→ 下拉列表只显示“已安装且已启用”的版本 → 选PHP-7.4 → 提交。
方法二:Apache模式下,每个站点会自动加载对应版本的php8apache2_4.dll;Nginx模式则由fastcgi_pass指向预分配端口(如9002),【无需手动改nginx.conf】,phpStudy已内置端口映射表。
注意:绑定后不会自动重启该站点的php-fpm,需手动点一次“重启PHP服务”才能生效。
验证是否真生效
别信界面显示,必须双重验证:
在网站根目录新建phpinfo.php,内容仅 → 浏览器访问http://localhost/phpinfo.php。
重点盯两处:PHP Version行是否匹配目标版本;Loaded Configuration File路径是否指向你选中的版本文件夹内的php.ini(例如/Applications/phpstudy_pro/Extensions/php/php-8.2.12nts/php.ini)。若路径仍指向php-7.4,说明虚拟主机配置里硬编码了LoadModule或fastcgi_pass,需清空自定义配置,交由phpStudy自动管理。
扩展与配置预检
PHP 8.x废弃mysql_*函数,但很多老项目代码还没重构。切换前务必进「PHP扩展」面板:
禁用已废弃扩展(如mysql)→ 启用替代项(mysqli或pdo_mysql)→ 检查gd、mbstring、openssl是否勾选。
特别注意:新版phpStudy默认集成OpenSSL 3.0,部分老系统调用curl或mail函数会报错,此时需降级到OpenSSL 1.1.1,否则phpinfo()里看不到openssl扩展被加载。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











