写在前面:全是一把辛酸泪,查了很多资料才完成转换,在此分享
将阿帕奇php项目转换为nginx项目步骤
- 查看D:\项目名\config\config.ini下数据库配置(会造成静态or框架加载失败)
- 下载相对应的PHP版本 修改php.ini文件
配置如下:
extension_dir = "这里写你的ext文件夹路径" ;这个路径是指向扩展库的路径
upload_tmp_dir = "这里写你的上传缓存目录" ;上传图片之类的缓存这里
session.save_path = "这里写你的session缓存目录" ;这个是以文件形式储存sission,如果以数据库存储session则需要另外配置
打开以下扩展:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_pdo_sqlite.dll
extension=php_xmlrpc.dll
定义所在时区(本人定义的是上海时区):
date.timezone = Asia/Shanghai
由于Nginx要求cgi方式的php,还要修改以下配置
enable_dl = On
cgi.force_redirect = 0
cgi.fix_pathinfo=1
fastcgi.impersonate = 1
cgi.rfc2616_headers = 1
- 下载nginx并配置
upstream blq.web.cn{
server 127.0.0.1:9000;
}
server {
#侦听80端口
listen 80;
#定义代理域名
server_name blq.web.cn;
include D:/www/blqweb/.htaccess; #引入配置文件
#默认请求
location / {
root D:/www/blqweb; #这里是站点的根目录
index index.php index.html index.htm;
}
location ~ \.php$ {
root D:/www/blqweb; #这里是站点的根目录(块内重新定义)
fastcgi_pass 127.0.0.1:9000; #与php-cgi(php-fmp)相同
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;(document_root==root定义的地址)
include fastcgi_params; #引入配置文件
}
}
- 配置文件.htaccess阿帕奇与nginx不一致需转换
在线转换网址:http://www.51ask.org/apache2nginx/
转换后在nginx中进行引入配置
include D:/www/blqweb/.htaccess; #引入配置文件
最后就完成了