数码资讯
ThinkPHP项目教程Nginx部署
一个小网站与TP在上期Apache开发的,它是我用TP的第一次真正的战斗。我使用的是正常模式,所有的本地操作,然而,部署到服务器上,另一个是nginx的使用,默认是不在ThinkPHP是模式支持,使路径错误,页面跳转周期问题,然后把nginx下载在本地测试。 事实上,为了解决nginx不支持是问题,
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
一个小网站与TP在上期Apache开发的,它是我用TP的第一次真正的战斗。我使用的是正常模式,所有的本地操作,然而,部署到服务器上,另一个是nginx的使用,默认是不在ThinkPHP是模式支持,使路径错误,页面跳转周期问题,然后把nginx下载在本地测试。
事实上,为了解决nginx不支持是问题,有两个办法来解决它。一是没有使用的是模式,另一种是修改nginx配置文件的支持是。二为了简化问题,我选择第一种方式,因为在第二方面,我查了很多资料,我们发现,该方法是不一样的,有的还相差很大,容易让人误解,所以我选择从,选择正常模式,虽然有一定的风险。当对应index.php前台代码的修改,发现前台基本正常,但仍有一个问题重定向的背景。半天的挣扎后,我看到日志文件。原来这是一个编辑问题。看来日志文件非常重要。我没太注意过。输出出现在config.php文件的第一行。
在崇高,一般头会增加BOM的UTF-8文件,在窗口的头通常是无形的,可以通过查看其他编辑器,也可以直接看到Linux,通常显示为乱码字符,字符可以删除,或者干脆,直接在第一个进入,然后可以删除在这里,背景基本上是接近的。
有几个小问题需要解释。
1。当我被要求登录认证通过外部js文件发送AJAX,JS和有问题的功能thinkphp通信模块,不知道如何写出正确的路径,也没有查到相关的信息,可以尝试通过直接在入口文件名的解决方法,代码如下
复制代码代码如下所示:
var url =系统。phpm = logina = dolog ;
美元。后(URL,{staffname :staffname美元,staffpwd :staffpwd美元,附加码:$附加码功能(数据){ },
如果(数据= =codeerr ){
警报()验证码错误!;
} else if(数据= =authempty ){
警告(请输入用户名或密码)!)
} else if(数据= =autherr ){
警报(用户名或密码错误)!;
否则,如果(数据= 成功){
警报()登录成功!;
位置。href =系统。phpm =指标=指数; / /访问主页
}
当然,这是一个共同的访问模式,如果是,你只需要修改红色部分如下。
复制代码代码如下所示:
var url =dolog ;
美元。后(URL,{staffname :staffname美元,staffpwd :staffpwd美元,附加码:$附加码功能(数据){ },
如果(数据= =codeerr ){
警报()验证码错误!;
} else if(数据= =authempty ){
警告(请输入用户名或密码)!)
} else if(数据= =autherr ){
警报(用户名或密码错误)!;
否则,如果(数据= 成功){
警报()登录成功!;
位置。href = 。 /索引/指数; / /跳转页面,访问其他模块的方法
2。下载文件时,总是莫名的很多HTML的东西,原因是不明确的缓冲区,可以用下面的代码修改,但它实际上是下载仍然是HTML格式的文件,但后缀名改为XLS,从而打开Excel会提示格式的问题可以忽略。同时,你需要注意使用icov()函数转换编码,因为默认的编码格式是UTF-8格式。
复制代码代码如下所示:
ob_start();
ob_end_clean();
标题(内容类型:应用程序/字节流);
标头(接受范围:字节);
标题(内容类型:应用程序/ vnd.ms-excel;字符集GB2312);
标题(内容配置:依恋;文件名= { $文件名} .xls);
三.删除文件会遇到路由问题,因为项目越来越多地使用在相对路径中,即相对入口文件,但是需要使用绝对路径删除文件,我没有找到正确的解决方案,我采用了比较保守的方法,代码如下
复制代码代码如下所示:
$路径;
$路径= str_replace(
4。在配置Nginx和PHP,我使用FastCGI方式以下代码保存为一个CMD文件,点击直接运行。
F: PHP PHP的CGI程序。B 127.0.0.1:9000 C F: PHP PHP INI / / PHP文件路径后面
然后加了几句话,nginx的配置文件
复制代码代码如下所示:
位置
根myapplications;
Fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_filename document_root fastcgi_script_name美元美元;
包括fastcgi_params;
# VaR path_info美元,是用来存储信息
设置为path_info ;
# VaR real_script_name美元,用于存储的真实地址。
设置为real_script_name fastcgi_script_name美元;
#如果正则表达式匹配的地址和报价
如果($ fastcgi_script_name^ ~(。+ 。PHP)( /,+){ $ )
#文件地址分配给real_script_name美元变。
集real_script_name美元1美元;
#将地址后文件参数分配给变量path_info美元
集path_info美元2美元;
}
一些参数#配置FastCGI
fastcgi_param script_filename document_root real_script_name美元美元;
fastcgi_param script_name real_script_name美元;
fastcgi_param path_info path_info美元;
}
事实上,为了解决nginx不支持是问题,有两个办法来解决它。一是没有使用的是模式,另一种是修改nginx配置文件的支持是。二为了简化问题,我选择第一种方式,因为在第二方面,我查了很多资料,我们发现,该方法是不一样的,有的还相差很大,容易让人误解,所以我选择从,选择正常模式,虽然有一定的风险。当对应index.php前台代码的修改,发现前台基本正常,但仍有一个问题重定向的背景。半天的挣扎后,我看到日志文件。原来这是一个编辑问题。看来日志文件非常重要。我没太注意过。输出出现在config.php文件的第一行。
在崇高,一般头会增加BOM的UTF-8文件,在窗口的头通常是无形的,可以通过查看其他编辑器,也可以直接看到Linux,通常显示为乱码字符,字符可以删除,或者干脆,直接在第一个进入,然后可以删除在这里,背景基本上是接近的。
有几个小问题需要解释。
1。当我被要求登录认证通过外部js文件发送AJAX,JS和有问题的功能thinkphp通信模块,不知道如何写出正确的路径,也没有查到相关的信息,可以尝试通过直接在入口文件名的解决方法,代码如下
复制代码代码如下所示:
var url =系统。phpm = logina = dolog ;
美元。后(URL,{staffname :staffname美元,staffpwd :staffpwd美元,附加码:$附加码功能(数据){ },
如果(数据= =codeerr ){
警报()验证码错误!;
} else if(数据= =authempty ){
警告(请输入用户名或密码)!)
} else if(数据= =autherr ){
警报(用户名或密码错误)!;
否则,如果(数据= 成功){
警报()登录成功!;
位置。href =系统。phpm =指标=指数; / /访问主页
}
当然,这是一个共同的访问模式,如果是,你只需要修改红色部分如下。
复制代码代码如下所示:
var url =dolog ;
美元。后(URL,{staffname :staffname美元,staffpwd :staffpwd美元,附加码:$附加码功能(数据){ },
如果(数据= =codeerr ){
警报()验证码错误!;
} else if(数据= =authempty ){
警告(请输入用户名或密码)!)
} else if(数据= =autherr ){
警报(用户名或密码错误)!;
否则,如果(数据= 成功){
警报()登录成功!;
位置。href = 。 /索引/指数; / /跳转页面,访问其他模块的方法
2。下载文件时,总是莫名的很多HTML的东西,原因是不明确的缓冲区,可以用下面的代码修改,但它实际上是下载仍然是HTML格式的文件,但后缀名改为XLS,从而打开Excel会提示格式的问题可以忽略。同时,你需要注意使用icov()函数转换编码,因为默认的编码格式是UTF-8格式。
复制代码代码如下所示:
ob_start();
ob_end_clean();
标题(内容类型:应用程序/字节流);
标头(接受范围:字节);
标题(内容类型:应用程序/ vnd.ms-excel;字符集GB2312);
标题(内容配置:依恋;文件名= { $文件名} .xls);
三.删除文件会遇到路由问题,因为项目越来越多地使用在相对路径中,即相对入口文件,但是需要使用绝对路径删除文件,我没有找到正确的解决方案,我采用了比较保守的方法,代码如下
复制代码代码如下所示:
$路径;
$路径= str_replace(
4。在配置Nginx和PHP,我使用FastCGI方式以下代码保存为一个CMD文件,点击直接运行。
F: PHP PHP的CGI程序。B 127.0.0.1:9000 C F: PHP PHP INI / / PHP文件路径后面
然后加了几句话,nginx的配置文件
复制代码代码如下所示:
位置
根myapplications;
Fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param script_filename document_root fastcgi_script_name美元美元;
包括fastcgi_params;
# VaR path_info美元,是用来存储信息
设置为path_info ;
# VaR real_script_name美元,用于存储的真实地址。
设置为real_script_name fastcgi_script_name美元;
#如果正则表达式匹配的地址和报价
如果($ fastcgi_script_name^ ~(。+ 。PHP)( /,+){ $ )
#文件地址分配给real_script_name美元变。
集real_script_name美元1美元;
#将地址后文件参数分配给变量path_info美元
集path_info美元2美元;
}
一些参数#配置FastCGI
fastcgi_param script_filename document_root real_script_name美元美元;
fastcgi_param script_name real_script_name美元;
fastcgi_param path_info path_info美元;
}
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。