在windows下学习开发PHP程序,可以有各种各样的选择,以下为几种常用方式。
1.XAMPP
XAMPP是完全免费且易于安装的Apache发行版,其中包含MariaDB、PHP和Perl。只要一次下载安装,即可建立起开发环境。
2.nginx+PHP+MySQL
分别下载服务器软件、PHP和MySQL,分别安装和配置。可以使用RunHiddenConsole方便地启动和关闭服务。
3.PHP CLI
可以使用 NetBeans 的PHP版,或 Visual Studio Code 等编辑器(IDE)配合开发。
XAMPP下载:
类似的软件包还有:
nginx下载:
PHP下载:
PHP包含多种版本,针对不同的服务器软件,会有不同的选择,下载哪个版本在下载页面有详细介绍。
对于nginx服务器,下载非线程安全版本。
MySQL下载:
https://www.mysql.com/downloads
对于初学者,下载Community版即可。
Netbeans下载:
RunHiddenConsole下载:
一、使用PHP-CLI
1.下载和解压
将下载下来的PHP压缩包进行解压(以解压到F:\server\php为例)
2.命名配置文件
修改文件php.ini-development的文件名为php.ini(可复制一个,再将扩展名改为ini)
3.修改配置文件
修改配置文件php.ini
extension_dir = "E:\server\php\ext"
cgi.force_redirect = 0
cgi.fix_pathinfo=1
date.timezone = Asia/Shanghai
enable_dl = On
cgi.rfc2616_headers = 1
fastcgi.impersonate = 1
开启相关模块(去掉前面的分号),例如:
extension=php_bz2.dll
extension=php_mysqli.dll
......
4.添加环境变量
将"E:\server\php"添加到环境变量Path中
5.使用 VS Code
为 Visual Studio Code 添加插件“Code Runner”,这时,编写一个PHP文件即可运行:
6.xdebug调试
可以在 Visual Studio Code 中调试PHP程序
下载xdebug,地址: https://xdebug.org
为php.ini添加如下配置:
zend_extension="E:\server\xdebug.dll"
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
在 Visual Studio Code 中添加插件“PHP Debug”
调度界面如下:
二、安装并配置nginx
1.解压nginx
(以:F:\server\nginx为例)
要启动nginx,直接双击运行nginx.exe即可。这时在浏览器中访问http://localhost/,即可得到以下页面
2.建立测试文件
为了测试nginx,建立F:\server\www目录,并在其中添加几个测试文件:
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>html页面</title>
</head>
<body>
<p>html页面</p>
</body>
</html>
index.php
<?php
echo phpinfo();
?>
mysql.php
<?php
$link = new mysqli('127.0.0.1', 'root', 'root');
if(!$link)
echo "FAILD!";
else
echo "OK!";
?>
3.修改配置
修改conf目录下的nginx.conf文件(此文件为默认配置文件):
定位到如下节点:http->server->location / ,修改为:
location / {
#root html;
root F:/server/www;
index index.html index.htm;
}
定位到如下节点:http->server->location ~ \.php$ ,修改为:
location ~ \.php$ {
#root html;
root F:/server/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME F:/server/www$fastcgi_script_name;
include fastcgi_params;
}
注意,这里的配置将网页文件指定在目录F:\server\www中。
在nginx所在目录打开命令行,nginx的命令使用方式如下:
nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
下面列举几个基本的命令操作:
nginx -h // 显示版本号和命令参数使用说明
nginx -c 配置文件路径 // 启动服务器的同时指定配置文件(若不指定则使用默认配置)
nginx -s stop // 立即停止服务器
nginx -s reload // 重新装载配置文件
nginx -s quit // 优雅退出,保持到当前的访问结束后才退出
nginx -s reopen // 重新打开日志文件
nginx -t // 测试配置文件,也可以带上"-c"参数指定配置文件,然后退出
nginx -v // 显示版本号,然后退出
nginx -V // 显示版本号和配置选项信息,然后退出
4.启动php-cgi
在命令控制台中运行以下命令:
php-cgi.exe -b 127.0.0.1:9000 -c php.ini
注意,cmd窗口不能关闭,否则php-cgi也随之退出。
5.启动MySQL服务
6.重启nginx服务器
7.打开浏览器进行测试
8.编写RunHiddenConsole脚本:
通过这些脚本,可以方便地启动和关闭PHP和nginx,并且在启动这些服务时,可以隐藏cmd窗口。
start_nginx.bat
@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5
REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
RunHiddenConsole F:\server\php\php-cgi.exe -b 127.0.0.1:9000 -c F:\server\php\php.ini
echo Starting nginx...
RunHiddenConsole F:\server\nginx\nginx.exe -p F:\server\nginx
stop_nginx.bat
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit