ngnix 对weiphp(thinkphp)的支持 新增:weiphp的server{ ### #定义变量 $path_info ,用于存放pathinfo信息 set $path_info ""; #定义变量 $real_script_name,用于存放真实地址 set $real_script_name $fastcgi_script_name; #如果地址与引号内的正则表达式匹配 if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)
ThinkPHP 3.1.2官方手册 第16.2章节 <隐藏index.php>中提到在Ngnix中隐藏index.php实现SEO友好的方法,其中使用了如下的代码 location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } 这种方法性能非常差,因为会对图片文件也进行文件存在判断,增加了磁盘IO开销 ,在<Nginx HTTP Server>一书中提到了种优化方法
最近在Linux平台上配置服务器部署网站(说多了都是泪!),记个笔记! 一.首先是在centos下安装mysql (参考博客) mysql yum库提供了一个简单的和方便的方法来安装和更新MySQL相关的软件包到最新版本. 参考文档:http://dev.mysql.com/downloads/repo/yum/. 1.安装之前先看看有没有安装好的mysql版本,以免产生冲突 # rpm -qa | grep mysql // 查看该操作系统上是否已经安装了mysql 2.卸载冲突的版本 # r
今天将自己代码传到线上服务器,页面上用到很多thinkphp U() 方法生成的链接.本地测试没啥问题,到线上发现链接生成的不对,每个都没有了host 每个链接多个index,然后查看tp的U方法: $url = __APP__.'/'.($module?$module.MODULE_PATHINFO_DEPR:'').implode($depr,array_reverse($var)); 是因为__APP__这里的原因,然后找到__APP__赋值的地方: define('__APP_
需求分析 目前的业务全站使用ThinkPHP 3.2.3,前台.后台.Cli.Api等.目前的业务API访问量数千万,后端7台PHP 5.6,平均CPU使用率20%. 测试数据 真实业务 php5.6:500 QPS php7.0:850 QPS 真实业务中减少一次Mysql查询业务或者减少一次Redis读写 php5.6:800 QPS php7.0:1250 QPS 目前优化的结果: ThinkPHP可以完整的跑在缓存中: 在不需要mysql查询时,不建立mysql连接: 不读写redis时
1.在模板中使用php函数 在thinkphp的html中,我们经常会遇到一些变量难以直接从php控制端直接处理,这些变量只有在模板中循环输出的时候处理比较合适,这个时候,我们就要在模板中使用函数 1.1对输出模板使用php函数 {$data.name|md5} //把模板中的name变量进行md5加密 把这句话翻译成php语言: <?php echo (md5($data['name'])); ?> 1.2函数中多个参数需要调用 1.2.1将前面输出的变量当后面函数的第二个参数使用 {$
我用的thinkphp版本是3.2.3,这个版本的跟更早些版本的调用方法不太一样,正确的调用方法是: Demo3Controller.class <?php namespace Home\Controller; use Think\Controller; class Demo3Controller extends Controller { public function download(){ $url = "http://n.sinaimg.cn/sports/20161023/MrD2
ThinkPHP框架知识点过于杂乱,接下来将以问题的形势讲解tp(ThinkPHP的简写) 1.tp框架是什么,为什么使用是它? 一堆代码的集合,里边有变量.函数.类.常量,里边也有许多设计模式MVC.AR数据库.单例等等.框架可以节省我们50-60%的工作量,我们全部精力都集中在业务层次. 为什么使用框架 框架可以帮组我们快速.稳定.高效搭建程序系统 该系统由于框架的使用使得本身的维护性.灵活性.适应客户需求方面得到最大化的增强. 使用框架的过程中可以使得我们的注意力全部集中业务层面,而无需关
ThinkPHP 3.2.3 自带的验证码类位于 /ThinkPHP/Library/Think/Verify.class.php,字体文件位于 /ThinkPHP/Library/Think/Verify/ 可以在 Verify.class.php 文件内进行修改,也可以单独写一个类继承自带的验证码类.如果单独写一个继承的类,可以重用父类的属性和方法,但是要注意的是父类中有一些属性和方法是私有(private)的,可以修改这些私有的属性和方法为保护(protected)的,如果不希望修改框架自