nginx下的thinkphp5.1的最佳配置
本文主要参考了:
https://blog.csdn.net/tinico/article/details/18033573
但有
两处改动。
特别说明,按照本文的配置,不需要修改php.ini,极为方便。
thinkphp5.1的官网文档推荐的配置:
location / { // …..省略部分代码
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
官网之所以这么写,是想照顾很多老版本的nginx,但新安装linux的同学大可不必如此。
thinkphp5.1官网推荐配置
按照官网要求做的全部配置代码:
server {
listen 80 ;
server_name www.d5.com;
root /var/www/tptest/public;
index index.php index.html ;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
location ~ \.php {
include fastcgi_params;
fastcgi_pass php72-fpm:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
}
}
php代码如下:
/var/www/tptest/application/path1/controller/Ctest.php
<?php
namespace app\path1\controller;
class Ctest
{
public function index()
{
return 'ctest ,index';
}
public function hello($name = 'ThinkPHP5')
{
return 'hello,' . $name.'<hr>'.var_export( $_GET,1 );
}
}
使用网址测试:
http://www.d5.com/path1/ctest/hello/name/ppp?aa=33
显示
hello,ppp
array ( 'aa' => '33', )
全部ok
然而,这种写法真的太
过时了,
好的 nginx 配置应该是:
server {
listen 80 ;
server_name www.d6.com;
access_log /var/log/nginx/access.log main2;
root /var/www/tptest/public;
index index.php index.html ;
location / {
try_files $uri /index.php$uri$is_args$args;
}
location ~ \.php {
include fastcgi_params;
fastcgi_pass php72-fpm:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
如上面的配置文件写法更加直观。try_files 指令实际是对if的包装。之所以nginx推出这个指令,就是希望用户配置时能简单一些。
亲测
成功,和参考网址文章的
差异是:
1、加了一行SCRIPT_FILENAME 的配置,不加好像不行。
2、try_files那行加了args这个nginx内置变量。
分享到:
相关推荐
nginx容器兼容thinkphp框架配置文件
Nginx配置ThinkPHP框架 ...............
安装环境推荐PHP7.0版本以上 + Apache(Nginx也可以)-》安装后项目运行的最低php版本支持5.6以上 网站入口请部署至public文件夹下(即 99Blog/public 目录下) 运行安装目录,运行 http://域名/install(例如:...
FastAdmin 完全升级 thinkphp5.1 fastadmin: 1.0.0.20190418_beta thinkphp: 5.1.38 LTS 安装使用 环境要求 PHP >= PHP7.1 Mysql >= 5.5.0 (需支持innodb引擎) Apache 或 Nginx PDO PHP Extension MBstring ...
HisiPHP V2版 基于ThinkPHP5.1 + layui开发的一套开源PHP快速开发框架,默认集成了权限管理、模块管理、插件管理、钩子管理、数据库管理等常用功能,以方便开发者快速构建自己的应用,我们在发布第一个版本就为您...
ThinkPHP5.1 已经出现很久了,最近有所接触,下面介绍一下常用的第三方验证码功能的使用。 环境 框架版本: ThinkPHP5.1.2 运行环境: CentOS7.2、phpStudy2017、Nginx ♜ 功能开发 1).引入第三方扩展包 进行 TP...
快乐聊天 happychat全新大升级,旧版本请到发布中下载。 体验地址 如何使用 ... 1,根目录在公共2,记得nginx下配置重写规则 location / { if (!-e $ request_filename ) { rewrite ^( . *) $ /i
近日选用phpstudy nginx 测试本地项目,thinkphp5.1 url(‘index/login/login’)生成路径访问时不包含index.php,结果报404错误,按官网文档加URL重写代码,但不知道加在哪(大实话,呵呵愚笨),于是在面板上找到...
主要介绍了Nginx配置支持ThinkPHP的PATH_INFO,本文在Ubuntu的开发环境加配置成功,需要的朋友可以参考下
ThinkPHP5.1版本的swoole: https://github.com/top-think/think-swoole 但是还有一些不完善的地方: 1.比如swoole中session中的运用: https://github.com/top-think/think-swoole/issues/39 2.在swoole中isAjax...
基于docker的thinkphp5框架的lnmp开发环境 mysql默认端口为:`33060` nginx默认端口为:`8080` redis默认端口为:`63790` 具体配置可修改根目录`.env`文件 docker-compose up --build -d #构建并后台执行
Swoole+Thinkphp5.1 制作赛事图文直播 :rocket: 基于Swoole加速Thinkphp,Swoole代替PHP-FPM起飞 特性 内置Http/WebSocket服务器 常驻内存 实时推送 在线聊天室 异步的任务队列 毫秒级定时任务 平滑Reload 支持...
BBBUG聊天室API端,基于Thinkphp6实现API部分,命令行运行后台歌曲下载与同步任务,Redis做歌曲队列缓存。特色功能(创建房间、切换房间,房间权限与房间类型管理。点歌/切歌/听歌与歌曲播放进度同步。聊天、送歌等...
后端:thinkphp 5.1 前端:layui 数据库:mysql 依赖 composer php 5.6 mysql 5.5 步骤 安装php依赖包 composer install 配置数据库,配置链接数据库名以及用户名密码 /config/database.php 创建数据库 字符编码...
Thinkphp5.1精品网址导航源码 PC WAP,利于SEO 自定义功能非常强的网址导航系统,带资讯、友链、分类、系统设置等模块。 测试环境是:nginx mysql5.6 php7.1,需配置伪静态 伪静态规则: location / { if (!-e $...
thinkphp客户关系管理系统是一款基于PHP语言的ThinkPHP5.1框架开发的适合商业用途的CRM系统。H5前端使用的是jquery-weui。 主要功能列表:客户信息、消息通知、客户线索、客户跟进、目标名单、目标制定、销售记录、...
自带资源站发布资源可以是免费的,但是下载的话就可以跳转到系统的网盘去下载。 前端 * Pear-admin * Layui * Jquery 后端 * PHP 7.3 * Thinkphp5.1 * Mysql `服务器 nginx` 后台帐号密码`admin`
Nginx请设置如下伪静态 Apache无需配置 运行目录默认即可 location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } } 将程序上传至网站根目录,访问域名/install进行安装操作
2、内核基于ThinkPHP5.1框架+MYSQL数据库; 3、小程序商城源码全开源,可以参考学习研究使用, 零基础可上手操作; 4、微信小程序插件部署; 5、小程序商城页面可DIY设置; 6、带安装搭建教程,一键同步更新...
thinkphp 5.1作HTTP服务(Nginx)。 getWanWork作socket服务(socket 数据交互方式是二进制数据格式)。 redis缓存,特定模块用sqllite缓存模块数据。 mysql、mongodb 数据库。 JWT进行用户验证。 使用 http 进行...