Nginx+php+Mysql配置
Nginx+php+Mysql配置
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
软件准备
下载相关软件:
php
nginx
直接解压到文件下
安装nginx
运行 nginx/安装目录下的nginx.exe 程序
注意:该网站的默认目录在 安装目录的html 下
测试是否启动nginx。打开浏览器访问http://localhost 或 http://127.0.0.1,看看是否出现“Welcome to nginx!”,出现的证明已经启动成功了。出现以上界面nginx就安装成功了,可能会不成功,列出不成功可能的原因:没有启动的话,看看80端口有占用没。
安装php
将php7.3.6解压到 php/software/php-7.3.6-Win32-VC15-x64/ 目录下,该目录下有两个文件
- php.ini-development
- php.ini-production
复制 php.ini-development 重名修改为 php.ini
搜索 extension_dir,找到: extension_dir = “ext” 先去前面的分号再改为 安装目录下的ext
- extension_dir = “D:\Network\php\ext”
注意:windows系统下 “” 一定要加转义字符 “” ,即为 “\”。不然一些 “\t” 都会出现问题。
搜索 date.timezone ,找到:;date.timezone = 先去前面的分号再改为 date.timezone = Asia/Shanghai
date.timezone = Asia/Shanghai
- List item
搜索 enable_dl ,找到:enable_dl = Off 改为 enable_dl = On
enable_dl = On
- List item
搜索 cgi.force_redirect ;cgi.force_redirect = 1 先去前面的分号再改为 cgi.force_redirect = 0
cgi.force_redirect = 0
- List item
搜索“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1 去掉前面的分号
fastcgi.impersonate = 1
- List item
搜索“cgi.rfc2616_headers”,找到:;cgi.rfc2616_headers = 0 先去前面的分号再改为 cgi.rfc2616_headers = 1
cgi.rfc2616_headers = 1
- List item
搜索“php_mysql”,找到:”extension=php_mysql.dll和extension=php_mysqli.dll 去掉前面的“;”(支持MYSQL数据库)
- extension=php_mysql.dll
- extension=php_mysqli.dll
其他的配置请按照自己的需求更改。
;extension=bz2
extension=curl
;extension=fileinfo
extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop
运行报错
报错:php warning: ‘c:\windows\system32\vcruntime140.dll’ 14.0 is not compatible with this php build linked with 14.29 in unknown on line 0
原因是VCRUNTIME140.dll与PHP版本不兼容
直接下载最新版本的Visual Studio Code
在安装目录下:.\php -v
nginx解析php
这里主要讲nginx配置启动php,以cgi运行php
编辑 nginx/software/nginx-1.16.0/conf/nginx.conf
1.修改大概第43~45行之间的
location /{
root html;
index index.html index.htm;}
修改网站文件的路径,以及添加index.php的默认页。改为:
location / {
root D:/wnmp/nginx-1.5.8/html;
index index.html index.htm inde.php;
}
注意:windows系统下 “” 一定要加转义字符 “” ,即为 “\”。不然一些 “\t” 都会出现问题。
2.支持php的设置,修改大概在第63-71行的
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
先将前面的“#”去掉,同样将root html;改为root C:/wnmp/nginx-1.5.8/html;。再把“/scripts”改为“ d o c u m e n t r o o t ” , 这 里 的 “ document_root”,这里的“ documentroot”,这里的“document_root”就是指前面“root”所指的站点路径,这是改完后的:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root C:/wnmp/nginx-1.5.8/html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# include fastcgi_params;
#}
注意:windows系统下 “” 一定要加转义字符 “” ,即为 “\”。不然一些 “\t” 都会出现问题。
开启php-cgi进程,试运行以及编辑运行配置文件
> D:\\php\\software\\php-7.3.6-Win32-VC15-x64\\php-cgi.exe -b 127.0.0.1:9000 -c D:\\php\\software\\php-7.3.6-Win32-VC15-x64\\php.ini
注意:windows系统下 “” 一定要加转义字符 “” ,即为 “\”。不然一些 “\t” 都会出现问题。
重新运行nginx.exe。D:\nginx\project\default 下新建一个phpinfo.php,
<?php phpinfo(); ?>
访问http://localhost/phpinfo.php
或者http://127.0.0.1/phpinfo.php
出现如下的信息就说明php已经成功安装:
下载一个RunHiddenConsole.exe
开启php-cgi和nginx.exe,保存为start.bat
@echo off echo Starting PHP FastCGI... C:\\wnmp\\nginx\\RunHiddenConsole.exe C:\\wnmp\\PHP\\php-cgi.exe -b 127.0.0.1:9000-c D:\\PHP\\php.ini echo Starting nginx... C:\\wnmp\\nginx\\RunHiddenConsole.exe D:\\nginx\\nginx.exe -p D:\\nginx
注意:windows系统下 “” 一定要加转义字符 “” ,即为 “\”。不然一些 “\t” 都会出现问题。
停止php-cgi和nginx.exe,保存为stop.bat
@echo off echo Stopping nginx... taskkill /F /IM nginx.exe > nul echo Stopping PHP FastCGI... taskkill /F /IM php-cgi.exe > nul exit
https://www.inbeijing.org/archives/tag/runhiddenconsole