自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(390)
  • 收藏
  • 关注

原创 Nginx&php-fpm配置

Nginx配置Nginx配置文件主要分成四部分:main(全局设置)、server(主机设置)、upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)和 location(URL匹配特定位置后的设置),每部分包含若干个指令。main部分设置的指令将影响其它所有部分的设置;server部分的指令主要用于指定虚拟主机域名、IP和端口;upstream的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡;location部分用于匹配网页位置(比如,根目录“/”,“/ima

2020-07-05 23:59:16 849

原创 PHP-FPM学习

CGIcommon gateway interface (公共网关接口)请求模式:Web Brower(浏览器) ----(通过http协议传输)----> Http Server(服务器nginx/apache) -----> CGI Program -----> DbServer 与 CGI 通过 STDIN/STDOUT(标准的输入/输出)进行数据传递nginx(动态加载模块) apache(指定加载模块)CGI工作原理1. 每当客户请求CGI的时候,WEB服务器就请

2020-07-01 15:52:41 266

原创 composer学习

简介Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。Composer 默认情况下不是全局安装,而是基于指定的项目的某个目录中(例如 vendor)进行安装。Composer 需要 PHP 5.3.2+ 以上版本,且需要开启 openssl。Composer 可运行在 Windows 、 Linux 以及 OSX 平台上。常用命令in

2020-06-30 21:49:24 231

原创 Docker学习

Docker简介Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。命令info|versioninfoversion常见问题Docker与LXC(Linux Container)有何不同?L

2020-06-29 13:57:03 256

原创 statistics:使用 PHP + Swoole 实现的统计监控系统(三)

源码分析类&方法new swoole_client()创建TCP或UDP类的客户端:new swoole_client(SWOOLE_SOCK_TCP | SWOOLE_SOCK_UDP, SWOOLE_SOCK_SYNC)send():发送数据recv():接收数据close():关闭连接源码解析:https://blog.csdn.net/lcli2009/articl...

2020-04-09 15:29:14 234

原创 statistics:使用 PHP + Swoole 实现的统计监控系统(二)

统计数据(55656端口)客户端-上报数据服务端-接收数据服务端-统计数据页面请求(55858端口)批量请求

2020-03-29 19:01:07 416

原创 statistics:使用 PHP + Swoole 实现的统计监控系统(一)

说明statistics是一个以swoole作为服务器容器的统计监控系统。statisitcs使用PHP开发,无需安装Mysql等数据库,无需安装php-fpm等软件。statistics包含了客户端和服务端,客户端是一个类库,通过函数调用的方式以UDP协议上报数据给服务端。statistics服务端接收上报数据然后汇总展示。statistics以曲线图、饼图和表格的方式展示请求量、耗时...

2020-03-29 15:33:41 744

原创 swoole安装及测试示例

swoole安装方案一:MAC本地安装官方安装命令:pecl install swoole下载PECL:安装PECL:安装swoole:问题1: /tmp/pear/install wu无权限解决: sudo chmod 0777 /tmp/pear/install问题2: channel “pecl.php.net” has updated its protocols问...

2020-03-03 15:37:19 832

转载 基于PCNTL的PHP多进程并发编程

PHP是一门较早出现的WEB开发脚本语言,并由于其语法结构简单、易学、开源等特性迅速占领WEB开发脚本语言领域,并成为这个领域的龙头老大直至今日。PHP从一出生就被设计用来快速开发WEB应用,这也注定了它在某些方面的先天不足,例如在cli环境下处理大量数据的情况,或者在并发编程方面,都显得力不从心。本文主要讲解基于PCNTL的PHP并发编程,虽然PHP本身不支持多进程,但基于LINUX的P

2016-09-08 20:03:20 689 3

转载 PHP Pthread多线程操作

class vote extends Thread {    public $res    = '';    public $url    = array();    public $name   = '';    public $runing = false;    public $lc     = false;    public function __

2016-09-08 20:00:26 1375 3

转载 详解OJ(Online Judge)中PHP代码的提交方法及要点

详解OJ(Online Judge)中PHP代码的提交方法及要点Introduction of How to submit PHP code to Online Judge Systems Introduction of How to commit submission in PHP to Online Judge Systems在目前常用的在线oj中,

2016-09-05 13:41:52 1625 2

转载 smarty中的母板极制_extends和block标签

模板继承 继承是从面向对象编程而来的概念,模板继承可以让你定义一个或多个父模板,提供给子模板来进行扩展。 扩展继承意味着子模板可以覆盖部分或全部父模板的块区域。继承结构可以是多层次的,所以你可以继承于一个文件,而这个文件又是继承于其他文件,等等。在覆盖父模板的{block}块以外的地方, 子模板不能定义任何内容。任何在{block}以外的 内容都会被自动忽略。在子模板和父模

2016-06-15 18:13:32 579 2

原创 GET和POST的比较

Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE,对应着对这个资源的查,改,增,删4个操作1、GET请求能够被缓存,POST不能2、GET请求会保存在浏览器的浏览记录中,POST不能3、GET请求的URL能够保存为浏览器书签,POST不能4、GET请求有长度限制(2M浏览器有关),POST可以在php.ini中进行设置5、G

2016-05-09 21:08:07 505 3

原创 TCP和UDP的区别

1、TCP面向连接;UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务(拥塞控制、数据校验、重传机制,网络开销大);   UDP尽最大努力交付,即不保证可靠交付3、TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;   UDP是面向报文,没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)4、

2016-05-09 21:07:50 475 3

原创 进程和线程的区别

1、进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.2、一个应用程序至少有一个进程,一个进程至少有一个线程。3、进程有独立的地址空间;线程有自己的堆栈和局部变量,但没有独立的地址空间。(1)多进程的程序比多线程的程序健壮:一个进程崩溃

2016-05-09 21:07:34 347 2

原创 Mysql查询优化

查询优化:1、查询结果只有一行数据时,使用limit 12、为where、order by用到的字段建立索引3、避免在where中使用!=或4、不要使用order by rand(),非常耗cpu5、避免使用select*6、表中只设置一个id,并最好是unsigned,并设置auto_increment标志。不要用varchar7、尽可能使用not null8、使

2016-05-09 21:07:12 419 2

原创 单例模式

1、定义单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。2、要点显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供

2016-04-01 16:57:58 514 2

原创 工厂模式原理及其简单应用

结合简单示例和UML图,讲解工厂模式简单原理。一、引子话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰)、Bmw(宝马)、Audi(奥迪)看来这人比较爱国,没有日本车),还雇了司机为他开车。不过,爆发户坐车时总是这样:上Benz车后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi后他说“开奥迪车!”。你一定说:这人有病!直接说开车不就行了?!而当把这

2016-04-01 16:14:09 8687 1

原创 Redis和Memcache的区别分析

面试的时候经常会被问到Redis和Memcache的区别,在这里总结一下:1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别。2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。3. Redis支持数据的备份,即master-slave模式的数据备份。4. Re

2016-04-01 15:50:02 485 1

原创 php垃圾回收和内存管理机制

一、PHP 垃圾回收机制(Garbage Collector 简称GC)在PHP中,没有任何变量指向这个对象时,这个对象就成为垃圾。PHP会将其在内存中销毁;这是PHP的GC垃圾处理机制,防止内存溢出。当一个PHP线程结束时,当前占用的所有内存空间都会被销毁,当前程序中所有对象同时被销毁。GC进程一般都跟着每起一个SESSION而开始运行的.gc目的是为了在session文件过期以

2016-04-01 11:07:39 4131 1

转载 php 引用(&)详解

在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址 变量的引用 PHP 的引用允许你用两个变量来指向同一个内容 复制代码代码如下:$a="ABC"; $b =&$a; echo $a;//这里输出:ABC echo $b;//这里输出:ABC $b="EFG

2016-03-02 14:19:27 401 1

转载 onbeforeunload 事件

定义和用法onbeforeunload 事件在即将离开当前页面(刷新或关闭)时触发。该事件可用于弹出对话框,提示用户是继续浏览页面还是离开当前页面。对话框默认的提示信息根据不同的浏览器有所不同,标准的信息类似 "确定要离开此页吗?"。该信息不能删除。但你可以自定义一些消息提示与标准信息一起显示在对话框。注意: 如果你没有在 元素上指定 onbeforeun

2016-02-29 14:28:15 606 1

转载 php实现用户在线时间统计详解

首先介绍一下所涉及的数据表结构,四个字段: 代码如下: 复制代码代码如下:uid :用户id session_id :用户登录后系统产生的session_id,PHP可是使用session_id()函数获取 login_time :登录时间 logout_time :登出时间 1、客户端定时发送请求到服务器端。实现方法是在用户登录后,将uid,ses

2016-01-25 10:49:08 4434

原创 JS实现全屏

/* 全屏 */ function requestFullScreen() { var element = document.getElementById('topo'); // topo为你要全屏的对象 element.style.width = '100%'; var requestMethod = element.requestFullScreen || el

2016-01-06 19:47:08 509 1

原创 thinkphp中使用ajax实现无刷新分页

1、修改thinkphp的/ThinkPHP/Library/Think/Page.class.php文件,如下:<?phpnamespace Think;class Page{ public $firstRow; // 起始行数 public $listRows; // 列表每页显示行数 public $parameter; // 分页跳转时要带的参

2015-12-23 21:52:32 5261 3

原创 thinkPHP上传文件问题

html页面中有两个input,如下:

2015-11-16 17:02:41 1412

原创 多条件查询

执行的sql语句为:Select count(*) FROM user WHERE  (stuno LIKE ‘%%’ OR  realname LIKE ‘%%’) AND tag = 0 AND status = 0 其中,_logic表示逻辑符

2015-10-15 20:53:20 527 1

原创 ThinkPHP 整合bootstrap分页

ThinkPHP框架自带的分页样式是: 而bootstrap的分页样式是:div class="modal-footer no-margin-top"> ul class="pagination pull-right no-margin"> li class="prev disabled"> a href="#

2015-10-14 17:05:19 2024 1

原创 模板的目录层次

User控制器的add操作 对应的模板文件就应该是: ./Application/Home/View/User/add.html如果觉得目录结构太深,可以通过设置  TMPL_FILE_DEPR 参数来配置简化模板的目录层次,例如设置:'TMPL_FILE_DEPR'=>'_'默认的模板文件就变成了: ./Application/Home/View/User_add.html

2015-10-11 18:07:54 542

原创 ThinkPHP控制器分级

注:请不要修改ThinkPHP惯例配置文件,如果要覆盖惯例配置的值,可在应用配置文件中设定和惯例不符的配置项惯例配置文件路径:/ThinkPHP/Conf/convention.php应用配置文件路径:/Application/Common/Conf/config.php在应用配置文件config.php中修改一下内容即可实现控制器分级:    'APP_SUB_DOMAIN_DE

2015-10-11 16:26:48 3094

原创 phpstorm汉化

1.汉化包可以从网上下载,注意版本的匹配,否则可能引起软件不能正常启动。如果不想下载可以自行制作汉化软件。步骤相同。2.找到phpstorm的安装路径到lib下。3.将语言包文件复制一份出来,并修改名称。把resources_en.jar复制一份并修改为resources_cn.jar4.将resources_cn.jar用压缩文件打开。5.进入到resources

2015-10-09 16:41:51 771

转载 PHPSTORM/IntelliJ IDEA 常用 设置配置优化

1.界面中文方框问题Settings->Appearance中Theme 设置 Windows勾选Override default fonts by (not recommended),设置字体为宋体2.显示行号Settings->Editor->Appearance标签项,勾选Show line numbers3.光标不随意定位

2015-10-09 16:20:35 7127

原创 phpStorm 配置关联php手册

1、菜单栏 File  ->  settings2、打开Tools下 的 External Tools  添加点击 + 号添加 菜单 3、如下图所示 填入相应的参数  配置菜单:Program : 填写浏览器的路径Parameters: -a  http://www.php.net/zh/function.$SelectedText$.php

2015-10-09 16:08:39 2574 2

原创 PhpStorm的序列号和证书

PhpStorm注册码User Name:EMBRACE License Key:===== LICENSE BEGIN =====43136-1204201000002UsvSON704l"dILe1PVx3y4"B349AU6oSDJrsjE8nMOQh"8HTDJHIUUhgd1BebYc5U"6OxDbVsALB4Eb10PW8"====

2015-10-09 15:44:41 2971

原创 ThinkPHP去除url中的index.php

1. 在apache/conf/httpd.conf配置文件中加载mod_rewrite.so模块 #LoadModule rewrite_module modules/mod_rewrite.so去掉前面的警号2. 在apache/conf/httpd.conf配置文件中, AllowOverride None 将None改为 All    (注意其他地方的Allow

2015-10-09 14:38:54 576

转载 CI框架表单验证

一、CodeIgniter允许你为单个表单域创建多个验证规则,按顺序层叠在一起,你甚至可以同时预先处理表单域数据。要设置验证规则请使用set_rules() 函数:  上面的函数使用 三个 参数作为输入:  表单域的名字 - 就是你给表单域取的那个名字。  一个此表单域的 "人性化" 名字,它将被插入到错误信息中。例如,如果你有一个表单域叫做“user”你可能给它一个人性化

2015-09-17 15:15:50 1149

原创 PHP的session问题

一、session时间周期设置方法1:在php文件中添加如下代码:/* 控制session时间*/$lifetime=60*90;session_set_cookie_params($lifetime);session_regenerate_id(true);方法2:修改php.ini文件:要实现Session的永久生命期,首先需要了解一下php.ini关于Se

2015-06-23 15:15:52 852

原创 LoadRunner11.0测试网站

一、 下载并安装LoadRunner11.0软件1、LoadRunner11.0支持IE9.0以下版本及火狐,不支持谷歌浏览器(有的说支持,但我这里是不行的!)2、安装之后的软件是正版的,支持最大并发数是10,需要破解。二、破解LoadRunner11.01、网上都有破解说明,我这里就不说了。2、破解之后的最大并发数一般为1w、6.5w。三、测试步骤1、录制脚本

2015-05-25 19:07:28 10438

原创 PHP实现图片上添加文字(证书生成)

首先,确定服务器中已经安装并开启GD2图形库然后,代码如下:

2015-05-25 17:46:19 11171

原创 PHP在线编辑器fckeditor应用

1、fckeditor配置$sBasePath = $_SERVER['PHP_SELF'] ;$sBasePath = dirname($sBasePath).'/'; dirname ,取得路径目录名的函数$oFCKeditor = new FCKeditor('FCKeditor1') ;$oFCKeditor->BasePath   = $sBasePath ;

2015-04-12 14:31:52 699

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除