最近在学习PHP,想把自己的学习经历记录下来,并写一些经验,仅供参考交流。此文适合那些刚刚接触PHP,想要学习并想要自己搭建Nginx+PHP+MysqL环境的同学。
当然,你也可以选择集成好的安装包,比如 wamp等,不过我推荐大家还是自己手动搭建一下环境比较好,这样能够更好的了解PHP及其运行流程。下面直接进入正题。
步骤:
1.准备安装包等
(1)Nginx-1.10.1.zip,下载链接为http://Nginx.org/en/download.html 。我个人选择了稳定版。
(2)PHP-5.6.25-nts-Win32-VC11-x86.zip或x64.zip 下载链接为http://windows.PHP.net/download#PHP-5.6,根据系统类型选择相应版本。
(3)MysqL-installer--------.msi 下载链接为http://dlsw.baidu.com/sw-search-sp/soft/ea/12585/MysqL-5.6.24-win32.1432006610.zip,由于MysqL官网需要注册,所以我直接贴了百度的地址。
2.安装MysqL服务(如果以前安装过MysqL则可以不必下载安装,在操作的时候启动MysqL服务即可。)
双击MysqL-install-------.msi安装包进入安装环境界面,选择默认选项进行安装,采用Typical(典型安装),并启动MysqL配置向导,选择默认选项配置,此处编码选择UTF-8,设置数据库密码后(一般为root),“Execute ”执行,点击“Finish”完成安装。要确保打开MysqL服务,检查是否打开服务的方法为: win+R 输入services.msc 回车,查看是否如下图所示有MysqL服务并为开始状态。
3.安装Nginx-1.10.1
(1)解压Nginx-1.10.1.zip文件至C:\wnmp\Nginx,并进入该文件夹内,找到Nginx.exe,鼠标双击Nginx.exe,启动Nginx。
进入任务管理器进程选项卡,如找到Nginx.exe进程,即确认Nginx已启动。
打开浏览器,在浏览器地址栏内键入:http://127.0.0.1,如看到如下图所示界面,说明Nginx正常工作。
。
(2)进入C:\wnmp\Nginx\conf文件夹内,记事本或写字板打开Nginx的配置文件Nginx.conf
找到如下两处进行修改,修改内容如下
PHP;">
server {
listen 80;
server_name localhost;
#modify by lee 20160902 for PHP -s
location / {
root C:/wnmp/www;
index index.html index.htm index.PHP;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.PHP$ {
root C:/wnmp/www;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.PHP;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#modify by lee 20160902 for PHP -e
}
4.安装PHP-5.6.25-nts-Win32-VC11-x64/x86
(1)解压PHP-5.6.25-nts-Win32-VC11-x64/x86.zip文件到C:\wnmp\PHP。
(2)进入C:\wnmp\PHP目录内,备份PHP.ini-development一份,将PHP.ini-development重命名为PHP.ini
查找定位并修改:
; extension_dir = "ext" ,删除前面的分号并修改为:extension_dir = "C:/wnmp/PHP/ext"
;extension=PHP_gd2.dll,删除前面的分号:extension=PHP_gd2.dll
;extension=PHP_mbstring.dll,删除前面的分号:extension=PHP_mbstring.dll
;extension=PHP_MysqL.dll,删除前面的分号:extension=PHP_MysqL.dll
;extension=PHP_MysqLi.dll,删除前面的分号:extension=PHP_MysqLi.dll
;extension=PHP_pdo_MysqL.dll,删除前面的分号:extension=PHP_pdo_MysqL.dll
;cgi.force_redirect = 1,删除前面的分号:cgi.force_redirect = 1
;cgi.fix_pathinfo=1,删除前面的分号:cgi.fix_pathinfo=1
;cgi.rfc2616_headers = 0,删除前面的分号:cgi.rfc2616_headers = 1
(3)配置环境变量:
打开环境变量配置窗口,
在系统环境变量中添加 变量 变量名:PHP_HOME 变量值:C:\wnmp\PHP
在系统环境变量中添加 变量 变量名:Nginx_HOME 变量值:C:\wamp\Nginx
在path变量最后添加:%PHP_HOME%;%Nginx_HOME%; (注意添加分号)
(4)启动php-cgi 服务:
win+R 输入cmd回车,进入命令提示符界面,进入C:\wnmp\PHP>,
使用命令 php-cgi.exe -b 127.0.0.1:9001 -c PHP.ini
重新打开一个新的命令提示符界面,
输入命令: netstat -ano|findstr "9001"会出现 9001端口号占用情况
再次输入命令: tasklist|findstr "2892" (注:2892为上一个命令执行完毕后,最后一列显示的进程号)
如下图所示:表示 php-cgi服务启动成功
(5)编写启动脚本 start.bat (其实到上步为止,已经配置完成,但是为了以后便于启动各种服务,特此编写一个启动脚本。)
新建文本文档,重命名为start.bat
用记事本打开后,做如下编辑:
(如果所以文件目录与本教程所述完全一致,则此脚本可以直接使用,如果有区别,则需要对Nginx_DIR和PHP_DIR做相应修改后使用)
nul
ECHO.Stopping PHP FastCGI......
ECHO.OK,Stop all Nginx process and PHP fastcgi
goto :eof
:startNginx
ECHO.
ECHO.Start Nginx......
IF NOT EXIST "%Nginx_DIR%Nginx.exe" ECHO "%Nginx_DIR%Nginx.exe" is not exists
%Nginx_PATH%
cd "%Nginx_DIR%"
IF EXIST "%Nginx_DIR%Nginx.exe" (
echo "start '' Nginx.exe"
start "" Nginx.exe
)
ECHO.OK
goto :eof
:startPHPFastCGI
ECHO.
ECHO.Start PHP FastCGI......
IF NOT EXIST "%PHP_DIR%php-cgi.exe" ECHO "%PHP_DIR%php-cgi.exe" is not exists
%Nginx_PATH%
cd "%PHP_DIR%"
IF EXIST "%PHP_DIR%php-cgi.exe" (
echo "start '' php-cgi.exe"
start /b php-cgi.exe -b 127.0.0.1:9001 -c PHP.ini
)
ECHO.OK
goto :eof
(6)测试成功
在C:\wnmp下新建www文件夹,在www文件夹下新建PHP文件 index.PHP,并做如下编辑
如下MysqLi_connect()代码部分需要 做相应更改。