- 博客(40)
- 收藏
- 关注
原创 Xdebug安装
为什么需要Debugger?很多PHP程序员调试使用echo、print_r()、var_dump()、printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以 看出来(当然可能还需要使用一些时间函数)。那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题的答...
2018-11-07 10:08:13
236
原创 redis基本操作命令
1 连接操作相关的命令quit:关闭连接(connection)auth:简单密码认证2 对value操作的命令exists(key):确认一个key是否存在del(key):删除一个keytype(key):返回值的类型keys(pattern):返回满足给定pattern的所有keyrandomkey:随机返回key空间的一个keyrename(oldname, newname):将k...
2018-03-26 18:01:56
244
原创 多维数组里面制定某个值进行排序
array_multisort(array_column($row, 'hot'), SORT_DESC, $row);
2018-03-09 16:00:29
260
原创 姓名隐藏后两位替换微*
$name = mb_substr($name, 0, 1) . str_repeat('*', (mb_strlen($name, 'UTF-8') - 1)
2018-03-09 16:00:03
3910
原创 win安装composer详细教程
1.先下载Composer-Setup.exe,下载地址:下载Composer 。会自动搜索php.exe的安装路径,如果没有,就手动找到php路径下的php.exe。2.在PHP目录下,打开php.ini文件,开启openssl扩展。去掉extension=php_openssl.dll前面的分号(;)3.把php目录添加到环境变量(和php.exe同级目录的路径)例如:D:\apache_ph...
2018-02-28 10:04:17
185
转载 【PHP】五分钟教你编写一个实时弹幕网站
由于博主是个忠实的英雄联盟粉丝,所以经常观看一些明星大神的直播。而一谈到直播,肯定会看到满屏幕飘来飘去的弹幕。那么问题来了,这些视频弹幕网站如何做到实时同步的?PHP如何开发一个类似的网站?首先要搞定的是前端页面,最起码得有个框,让弹幕飞起来吧。一想到前台,博主头就大(毕竟我不喜欢去扣前端代码,而且做出来的东西还巨丑)。那咱们就百度一下吧,看看有什么好用的弹幕插件,现在开源的东西那么多。经过搜索,...
2018-02-24 16:24:07
545
原创 linux命令大全
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱...
2018-02-24 14:43:03
138
原创 linux指令大全
cat cdchmod chowncp cut名称:cat使用权限:所有使用者使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)参数:-n 或 --number 由 1 开始对所有输出的行数编号-b 或 --number-nonblank 和 -n 相似,只不...
2018-02-24 14:26:14
296
原创 phpstorm 汉化教程
在百度网盘下载resources_en.jar文件 去phpstorm安装目录下的lib下的resources_en.jar 将本地的文件替换掉lib下的文件 重启phpstorm就完成了
2018-02-10 12:34:24
5037
2
原创 关于如何避免操作(update、delete)mysql数据库时忘记添加where而导致全表修改或删除情况
在实际开发中,有时在对数据库进行更新或删除时,因忘记添加了where条件而造成了对整表的更新或删除。OMG,从网上找了许多的如何恢复误操作的方法,都是通过查看日志转换成sql语句再进行恢复。(好麻烦啊。。。),既然麻烦,那我们就应该想办法尽量避免这种现象的发生,也就是说做到在我们没有添加条件的时候,让该执行语句给我们报错提醒我们无法执行(因为一般情况下不会出现要整张表的某个字段更新成同样的数值,或...
2018-02-09 14:20:44
702
原创 Redis 内存淘汰机制
Redis内存淘汰指的是用户存储的一些键被可以被Redis主动地从实例中删除,从而产生读miss的情况,那么Redis为什么要有这种功能?这就是我们需要探究的设计初衷。Redis最常见的两种应用场景为缓存和持久存储,首先要明确的一个问题是内存淘汰策略更适合于那种场景?是持久存储还是缓存?内存的淘汰机制的初衷是为了更好地使用内存,用一定的缓存miss来换取内存的使用效率。 作为Redis用户,我如何...
2018-02-09 14:19:55
257
原创 crontab实现定时任务
1 crontab实现定时任务1.1服务状态/sbin/service crond status 查看定时任务的服务是否启动 参数:start 启动服务 Stop 停止服务 Restart 重新启动服务 Reload 重新载入配置 1.2服务权限Crontab的权限管理存储在cron.allow文件与cron.deny文件中。Cron.allow文件存储的是允许哪些用...
2018-02-09 14:18:59
302
原创 php网站判断用户是否是手机访问的方法
有些时候,我们需要判断用户是否用手机访问,如果是手机的话,就跳转到指定的手机友好页面。这里就介绍一下,如何判断用户是否用手机访问。自定义的函数如下:[php] view plain copy$agent = check_wap(); if( $agent ) { header('Location: http://www.baidu.com'); exit; } // c...
2018-02-09 14:18:12
1311
原创 Vim设置支持鼠标,光标定位,滚轮上下移动
本章主要说明如何使用鼠标功能。vim打开鼠标(临时设置)[plain] view plain copy:set mouse=a 长久设置,在~/.vimrc中添加[plain] view plain copyset mouse=a 关闭鼠标[plain] view plain copy:set mouse-=a mouse参数说明// n 普通模式 // v 可视模式 // i ...
2018-02-09 14:17:20
3039
原创 PHP获取今天,昨天,本月,上个月,本年 起始时间戳
[php] view plain copydate_default_timezone_set("Asia/Shanghai"); //设置为上海时间 否则开始时间会相差8个小时 //获取今日开始时间戳和结束时间戳 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y')); $endToday=mktime(0,0,0,date('m')...
2018-02-09 14:16:30
1953
原创 安装完环境后如何让localhost不直接进入index文件
在httpd.conf 文件里面 找到将DirectoryIndex 注释掉phpstudy 设置 勾选 允许目录列表
2018-02-06 18:42:14
1328
原创 phpstudy启动服务出现丢失MSVCR110.dll提示的解决办法
启动程序报错如下:无法启动此程序,因为计算机中丢失MSVCR110.dll。尝试重新安装该程序以解决此问题。这个提示很明显了,就是缺少这样的dll文件,是没有安装Visual C++ Redistributable for Visual Studio 2012的缘故解决方案:如果你是64位的机器,建议安装下列地址上提供的X86和X64版本,两个版本都安装安装地址 http://ww
2018-02-06 18:32:06
1405
原创 sublime 设置简体中文
点击进入命令行窗口在窗口输入如下代码,回车,等待安装完成:(代码在文末百度网盘链接下载)import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.re
2018-02-06 16:42:34
4349
原创 PHP 常用的header头部定义汇总
header('HTTP/1.1 200 OK');// ok 正常访问header('HTTP/1.1 404 Not Found');//通知浏览器 页面不存在header('HTTP/1.1 301 Moved Permanently');//设置地址被永久的重定向 301header('Location:http://ww
2017-11-21 11:26:24
143
原创 session的存储方式和配置
Session又称为会话状态,是Web系统中最常用的状态,用于维护和当前浏览器实例相关的一些信息。我们控制用户去权限中经常用到Session来存储用户状态,这篇文章会讲下Session的存储方式、在web.config中如何配置Session、Session的生命周期等内容。 1、Session的存储方式。 session其实分为客户端Session和服务器端Sess
2017-11-20 19:39:18
244
原创 使用静态缓存提升网站性能的五种方法!
一、浏览器缓存浏览器缓存,也称为客户端缓存,是静态缓存中最常见最直接的表现形式,很多时候都往往被人忽略掉。案例1:我们经常在nginx的配置文件中看到以下缓存配置:案例2:在经常写 jsp 的时候,html 标签中关于 http 头信息也可以注意到“ expires ”的字样:对于案例1和案例2中(nginx设置的expires优先级
2017-11-20 14:09:05
1142
原创 关系型数据库和非关系型数据库的特性以及各自的优缺点
关系型数据库SQLite、Oracle、mysql1、关系型数据库,是指采用了关系模型来组织数据的数据库;2、关系型数据库的最大特点就是事务的一致性;3、简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。1、容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解;2、使用
2017-11-14 16:57:06
1483
原创 Nginx动静分离实现
Nginx动静分离实现:Nginx是一种轻量级,高性能,多进程的Web服务器,非常适合作为静态资源的服务器使用,而动态的访问操作可以使用稳定的Apache、Tomcat及IIS等来实现,这里就以Nginx作为代理服务器的同时,也使用其作为静态资源的服务器,而动态的访问服务器就以Apache为例说明。 · 原理· 实现· 验证
2017-11-14 16:55:42
379
原创 数据库事物
事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。例如,银行转账工作:从一个账号扣款并使另一个账号增款,这两个操作要么都执行,要么都不执行。所以,应该把它们看成一个事务。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。 针对上面的描述可以看出,事务的提出主要是为
2017-11-14 16:54:20
112
原创 Apache 与 Nginx 比较
Nginx轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apache 高很多,而 apache 则是阻塞型的。在高并发下 nginx 能保持低资源低消耗高性能 ,而 apache 在 PHP 处理慢或者前端压力很大的情况下,很容易出现进程
2017-11-14 16:52:47
127
原创 简单透彻理解JSONP原理及使用
什么是JSONP首先提一下JSON这个概念,JSON是一种轻量级的数据传输格式,被广泛应用于当前Web应用中。JSON格式数据的编码和解析基本在所有主流语言中都被实现,所以现在大部分前后端分离的架构都以JSON格式进行数据的传输。那么JSONP是什么呢? 首先抛出浏览器同源策略这个概念,为了保证用户访问的安全,现代浏览器使用了同源策略,即不允许访问非同源的页面,详细的概念大家可
2017-11-14 16:50:34
132
转载 ajax上传文件
[php] view plain copy"file" id="file" /> "button" id="upload" value="上传" /> script部分:[php] view plain copy$("#upload").click(function () {
2017-11-11 12:29:58
112
原创 linux 安装 memcached
注意:本文档为word格式文件,因不同软件打开后内部的空格以及符号会变成中文格式,执行命令时务必保证所有空格与符号均为英文格式,否则命令无法执行!!!!(最好自己敲下面的命令)下载地址:Memcached客户端http://memcached.org/files/memcached-1.4.20.tar.gzMemcache扩展h
2017-11-11 12:27:30
119
原创 linux 安装 swoole扩展
swoole的官网请见:http://www.swoole.com/Swoole是:PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swool
2017-11-11 12:23:56
191
原创 Linux 安装redis及redis扩展
1、下载源码,解压缩后编译源码。wget http://download.redis.io/releases/redis-4.0.2.tar.gztar xzf redis-4.0.2.tar.gzcd xzf redis-4.0.2make 2、编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redi
2017-11-11 12:22:19
149
转载 memcached底层工作原理
1、memcached是怎么工作的? Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储了很多对的哈希表。通过key,可以存储或查询任意的数据。 客户端可以把数据存储在多台memcached上。当查询数据时,客户端首先参考节点列表计算出key的哈希值(阶段一哈 希),进而选中一个节点;客户端将请求发送给选中的节点,然后memc
2017-11-11 12:21:01
191
转载 laravel5.1 部署到lnmp
版本问题 如果php版本不够可以升级 1 2 3 4 51.切换到安装包目录# cd /lnmp1.3-full2.升级php命令# ./upgrade.sh php3.输入版本号进行升
2017-11-11 12:19:10
140
转载 mysql的双机热备
双机热备特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在两
2017-11-11 12:17:39
137
转载 PHP使用header设置浏览器缓存
[php] view plain copy//定义一个合理缓存时间。合理值屈居于页面本身、访问者的数量和页面的更新频率,此处为3600秒(1小时)。 $cache_time = 60 * 60; $modified_time = @$_SERVER['HTTP_IF_MODIFIED_SINCE']; if( strtotime(
2017-11-11 12:15:22
195
原创 Ubuntu安装Nginx和正确卸载Nginx
1.Ubuntu下安装Nginx比较简单敲入下列命令即可: sudo apt-get update sudo apt-get install nginx122.Ubuntu下卸载,稍不注意就会入坑 sudo apt-get remove nginx nginx-common # 卸载删除除了配置文件以外的所有文件。 sudo apt-get purge
2017-10-31 16:52:32
1539
原创 phpstorm 2017激活
1. 通过Licence Server 激活PHPStorm 2017.1:http://idea.imsxm.com/ (已恢复使用,更新于20170621)http://www.0-php.com:1017(可用,更新于20170621)http://idea.singee77.com/ http://idea.lanyus.com/ (已被封杀
2017-10-31 13:37:08
253
原创 Yii2框架使用redis: yii2本地添加redis扩展及其使用
yii2支持了redis扩展,不需要在本地下载php的扩展库就可以很好的使用1.开启redis服务器.如果是在window下,则下载windows的redis安装包打开cmd,进入安装包目录,使用redis-server.exe redis.conf,开启redis服务器,再打开一个cmd窗口,redis-cli.exe -h IP -p 63792.下载yii2的redis的安装
2017-10-27 15:27:44
715
原创 linux搭建svn
Linux系统:CentOS安装步骤如下:1、yum install subversion2、输入rpm -ql subversion查看安装位置,如下图:可以看到 svn在bin目录下生成了几个二进制文件。再输入/usr/bin/svnversion --version 就可以查看svn的版本,这样就说明svn安装成功,如下图:3、
2017-10-17 20:47:53
119
原创 利用phpmailer来实现邮件发送附带图片和链接
<?phpheader('content-type:text/html;charset=utf-8');include './class.phpmailer.php';//实例化邮件发送类$mail = new PHPMailer();// 使用SMTP方式发送$mail->IsSMTP();// 设置邮件的字符编码$mail->CharSet='UTF-8';// 企业邮
2017-08-25 11:17:56
2954
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人