如果想方便,可以直接使用集成的 LNMP 环境(例如 PHPStudy)。
下载 PHP
下载地址:
根据你的系统选择 32 位或 64 位下载。另外还有个线程安全和非线程安全的差异,对于 Nginx(使用 FastCGI,单线程工作),选择 Non Thread Safe 版本即可。具体差异可以 。
- None Thread Safe:非线程安全,在执行时不进行线程安全检查。
- Thread Safe:线程安全,执行时会进行线程安全检查,以防止有新要求就启动新线程,耗尽系统资源。
我现在用的是 7.2,64位,非线程安全的版本。
下载 Nginx
下载地址:
一般下载你服务器上安装的版本。随便玩的话,下载最新的稳定版就行了。
下载 RunHiddenConsole
下载地址:
PHP 和 Nginx 是守护进程,启动后需要一直开着黑窗口,不太方便。RunHiddenConsole 工具可以在启动这两个程序化隐藏黑窗口。
目录结构
这里 RunHiddenConsole.exe 以及所有的 bat 脚本都放在 script
目录中。PHP 和 Nginx 直接解压即可,注意 PHP 的目录名太长了,这里简化了一下。
├─nginx-1.15.1│ ├─conf│ ├─contrib│ │ ├─unicode2nginx│ │ └─vim│ │ ├─ftdetect│ │ ├─ftplugin│ │ ├─indent│ │ └─syntax│ ├─docs│ ├─html│ ├─logs│ └─temp│ ├─client_body_temp│ ├─fastcgi_temp│ ├─proxy_temp│ ├─scgi_temp│ └─uwsgi_temp├─php72│ ├─dev│ ├─ext│ ├─extras│ │ └─ssl│ ├─lib│ │ └─enchant│ └─sasl2└─script
编写脚本
注意,根据上面的目录编写脚本。如果你用的是不同的版本的 PHP 和 Nginx,需要根据解压后的目录名修改脚本中对应的变量。
这里启动 PHP 时,实际上启动的是 PHP-FPM,通过 -b 127.0.0.1:9000
参数指定监听本机的 9000 端口。另外,也可以把 php.exe
的绝对路径添加到系统环境变量 PHTH
中,这样就可以在命令行中使用 PHP 命令了,例如 php -v
查看版本。
同时启动 PHP 和 Nginx
@ECHO OFFECHO Starting PHP FastCGI...set php_home=..\php72.\RunHiddenConsole.exe %php_home%\php-cgi.exe -b 127.0.0.1:9000 -c %php_home%/php.iniECHO Starting Nginx...set nginx_home=..\nginx-1.15.1.\RunHiddenConsole.exe %nginx_home%\nginx.exe -p %nginx_home%
同时关闭 PHP 和 Nginx
@ECHO OFFecho Stopping nginx... taskkill /F /IM nginx.exe > nulecho Stopping PHP FastCGI...taskkill /F /IM php-cgi.exe > nulexit
单独启动 PHP
@ECHO OFFECHO Starting PHP FastCGI...set php_home=..\php72.\RunHiddenConsole.exe %php_home%\php-cgi.exe -b 127.0.0.1:9000 -c %php_home%\php.ini
单独关闭 PHP
@ECHO OFFECHO Stopping PHP FastCGI...taskkill /F /IM php-cgi.exe > nulexit
单独启动 Nginx
@ECHO OFFECHO Starting Nginx...set nginx_home=..\nginx-1.15.1.\RunHiddenConsole.exe %nginx_home%\nginx.exe -p %nginx_home%
单独关闭 Nginx
@ECHO OFFECHO Stopping Nginx...taskkill /F /IM nginx.exe > nulexit