phpwindows环境搭建

 人参与 | 时间:2026-10-17 07:30:23

phpwindows环境搭建

上个月帮一个朋友调试他老掉牙的环境ThinkPad,那台机器上还跑着PHP 5.2,搭建连mysql扩展都是环境编译进去的。他说自己不敢动,搭建怕一升级全崩了。环境我当场给他装了套PHP 8.3 + Nginx,搭建半小时搞定,环境他瞪着眼睛问我是搭建不是用了什么魔法。其实哪有什么魔法,环境就是搭建选对工具链的事。

Windows下搭PHP环境,环境最忌讳的搭建就是贪多求全。什么Apache、环境IIS、搭建MySQL全家桶往上一堆,环境最后端口冲突、版本不兼容,光排查就能耗掉你一个下午。我的建议就一条:用官方二进制包,不用集成环境。php.net下载Windows版本,选线程安全版还是非线程安全版?这问题能把新手绕晕。说白了,你用Nginx就选非线程安全,用Apache就选线程安全。没有Apache情结的话,直接Nginx+PHP 8.x,性能好还省心。

具体步骤其实就三步。第一步,下载php-8.x-nts-Win32-vs16-x64.zip,解压到C:\php。别放带空格的路径,别放中文目录,这是多少人踩过的坑。第二步,把php.ini-development复制一份改名php.ini,打开后把extension_dir设为"C:\php\ext",再把extension=mysqli、extension=openssl前面的分号去掉。第三步,命令行跑php -v,能看到版本号就算成了。

Nginx那边更简单。下载nginx/Windows-1.24.zip,解压到C:\nginx。改conf文件夹里的nginx.conf,找到server块,把location ~ \.php$ 这段的注释打开,fastcgi_pass改成127.0.0.1:9000,root改成你的项目路径。然后命令行启动php-cgi -b 127.0.0.1:9000,再启动nginx。浏览器敲localhost,看到phpinfo页面那一瞬间,比喝冰可乐还爽。

有个坑我必须提一嘴。Windows下PHP的PATH_INFO支持是出了名的麻烦,你要是用ThinkPHP或者Laravel这类框架,路由会白屏。解决办法是给nginx加一条fastcgi_param PATH_INFO $fastcgi_path_info。这行配置我每次都要亲手敲上去,记不住就存个txt放桌面,反正迟早用得上。

MySQL就用官方installer装个8.0社区版,一路Next就行。记得选utf8mb4字符集,不然存emoji会变成问号。装完用mysqli连一下,通了就算齐活。你要是连Redis、Memcached都想上,那另说,但就日常开发而言,这套组合已经比大多数线上服务器配置都要新了。

最后说句掏心窝的话。网上那些一键安装包,什么phpStudy、XAMPP,确实省事,但出了问题你真不知道去哪改。自己手动搭一次,哪怕踩几个坑,以后遇到环境问题至少知道从哪下手排查。我那个朋友现在都敢自己往php.ini里加扩展了,前几天还跟我炫耀说他把swoole给开起来了——虽然他那台老ThinkPad跑起来风扇呼呼的,但那眼神里的得意劲儿,值了。

顶: 63踩: 9853