nginx php7 win,Win7配置Nginx+PHP7
Nginx
Nginx有官方native build的32bit版本, 也有cygwin build的64bit版本, 出于穩(wěn)定性的考慮, 還是選了官方的32bit.
解壓, 本例中使用的路徑是 C:\Servers\nginx-1.9.12 , 創(chuàng)建兩個(gè)bat, 用于啟動(dòng)和關(guān)閉nginx:
start_nginx.bat
1
2
3
4
@echooff
setNGINX_HOME=C:\Servers\nginx-1.9.12
start/D%NGINX_HOME%\%NGINX_HOME%\nginx.exe
pause
stop_nginx.bat
1
2
3
4
5
@echooff
setNGINX_HOME=C:\Servers\nginx-1.9.12
cd%NGINX_HOME%
nginx.exe-squit
pause
PHP
選的版本是 7.0.4 64位 NTS(非線程安全) VC14, 本例中解壓至目錄 C:\Servers\php-7.0.4-nts-Win32-VC14-x64 ,
1
2
3
4
5
6
7
8
9
10
11
date.timezone=Asia/Shanghai
enable_dl=On
#允許用戶在運(yùn)行時(shí)加載PHP擴(kuò)展,即在腳本運(yùn)行期間加載
cgi.force_redirect=0
# 啟用時(shí), 防止任何人通過(guò)如 http://my.host/cgi-bin/php/secretdir/script.php 這樣的 URL 直接調(diào)用 PHP。PHP 在此模式下只會(huì)解析已經(jīng)通過(guò)了 web 服務(wù)器的重定向規(guī)則的 URL. 在大多數(shù) web 服務(wù)器中以 CGI 方式運(yùn)行 PHP 時(shí)很有必要用 cgi.force_redirect 提供安全。PHP 默認(rèn)其為 On。可以將其關(guān)閉,但風(fēng)險(xiǎn)自擔(dān)。注: Windows 用戶:可以安全地在 IIS 之下將其關(guān)閉,事實(shí)上必須這么做。要在 OmniHTTPD 或 Xitami 之下使用也必須將其關(guān)閉。
cgi.fix_pathinfo=1
#1:PHP CGI 以 / 為分隔符號(hào)從后向前依次檢查請(qǐng)求的路徑, 對(duì) CGI 提供了真正的 PATH_INFO/PATH_TRANSLATED 支持。以前 PHP 的行為是將 PATH_TRANSLATED 設(shè)為 SCRIPT_FILENAME,而不管 PATH_INFO 是什么。有關(guān) PATH_INFO 的更多信息見 cgi 規(guī)格。將此值設(shè)為 1 將使 PHP CGI 修正其路徑以遵守規(guī)格。設(shè)為 0 將使 PHP 的行為和從前一樣。默認(rèn)為零。用戶應(yīng)該修正其腳本使用 SCRIPT_FILENAME 而不是 PATH_TRANSLATED。
fastcgi.impersonate=1
#IIS(在基于 WINNT 的操作系統(tǒng)上)中的 FastCGI 支持模仿客戶端安全令牌的能力。這使得 IIS 能夠定義運(yùn)行時(shí)所基于的請(qǐng)求的安全上下文。Apache 中的 mod_fastcgi 不支持此特性(03/17/2002)。如果在 IIS 中運(yùn)行則設(shè)為 1。默認(rèn)為 0。
cgi.rfc2616_headers=1
#指定 PHP 在發(fā)送 HTTP 響應(yīng)代碼時(shí)使用何種報(bào)頭。如果設(shè)定為 0,PHP 發(fā)送一個(gè) Status: 報(bào)頭,Apache 和其它 web server 都支持。如果此選項(xiàng)設(shè)定為 1,PHP 將發(fā)送 RFC 2616 兼容的報(bào)頭。除非你知道自己在做什么,否則保留其值為 0。
添加擴(kuò)展, 修改以下幾處
1
2
3
extension_dir="./ext"
# 指定win7下的擴(kuò)展目錄
# 并取消用到的擴(kuò)展前面的注釋
啟動(dòng)的命令是
1
C:\>Servers\php-7.0.4-nts-Win32-VC14-x64\php-cgi.exe-b127.0.0.1:9000
如果需要后臺(tái)啟動(dòng)PHP CGI, 使用vbs, 創(chuàng)建 startup.vbs
1
createobject("wscript.shell").run"c:\Servers\php-7.0.4-nts-Win32-VC14-x64\php-cgi.exe -b 127.0.0.1:9000",0,false
停止PHP CGI, 創(chuàng)建shutdown.bat
1
2
3
@echooff
taskkill/fi"imagename eq php-cgi.exe"
pause
Nginx 啟用 PHP
修改nginx.conf
1
2
3
4
5
6
7
location~\.php${
roothtml;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}
重啟nginx
注:
PHP5.6及以下, 需要將mysql 的 libmysql.dll 拷貝至 C:\Windows\SysWOW64
PHP7貌似已經(jīng)取消了支持,編譯都沒有了--with-mysql參數(shù),只支持--with-mysqli和--with-pdo-mysql, 故libmysql.dll已經(jīng)不需要
如果提示api-ms-win-crt-runtime-l1-1-0.dll丟失, 請(qǐng)安裝 visual c++ redistributable 2015, 從微軟官網(wǎng)上可以下載. 安裝對(duì)系統(tǒng)的要求必須在win7 sp1以上, 如果win7還未升級(jí)的, 安裝會(huì)失敗.
總結(jié)
以上是生活随笔為你收集整理的nginx php7 win,Win7配置Nginx+PHP7的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 绿色文本整理器TextEditor(特别
- 下一篇: php 连接多个数据出错,php连接多个