- 博客(70)
- 资源 (3)
- 收藏
- 关注
原创 Linux上安装Composer
下载Composer包 curl -sS https://getcomposer.org/installer | php 安装Compose mv composer.phar /usr/local/bin/composer 查看安装Composer是否成功 composer -v 如果出现版本号说明安装成功。 设置中国镜像 composer config -g repo.packagist composer https://packagis..
2020-07-17 20:31:57
169
原创 windows 运行 swoole
windows 运行 swoole1 下载docker19.03https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe2 docker下 安装 ubuntu镜像 [ windows 下 swoole_set_process_name会报错]docker pull ubuntu简单启动docker run -it -d ubuntu /bin/bash复杂点的启动(安装环境可以忽略 -p 映射容器端口到本机 -
2020-07-16 17:28:59
1072
原创 nginx + php-fpm 开启 PATH_INFO 模式
很多框架默认路由都是 PATH_INFO 模式,比如默认在 Apache 并且没有 rewrite 时,CodeIgniter 一般可以这样访问 /index.php/controller/action ,那么 nginx 和 php-fpm 如何设置支持 PATH_INFO 模式呢?php.ini 中一个与 PATH_INFO 有关的设置是 cgi.fix_path默认为 1,我们将其设置为 0。php.ini 设置:Defaultcgi.fix_path = 0 1 .
2020-07-16 17:25:33
281
原创 PHP-FPM参数如何调优
配置文件位置一般在PHP目录下的etc/php-fpm.d/*.confpm.max_children = 100最大子进程数量,越多越好,一般每个php-cgi所耗费的内存为20M左右如果最大数量设置为100,则在峰值的时候php-cgi所耗内存在2000M以内如果这个值设置的比较小,那么等待的请求时间会出现502超时4G内存服务器可以设置成200pm.start_servers = 20pm.start_servers:启动时创建的子进程数,10~20之间就可以,20个的话是400M内
2020-07-16 16:36:49
653
原创 理解PHP中&引用
在 PHP 中引用意味着用不同的名字访问同一个变量内容。这并不像 C 的指针:例如你不能对他们做指针运算,他们并不是实际的内存地址。引用是符号表别名。引用做什么:PHP 的引用允许用两个变量来指向同一个内容。如果对一个未定义的变量进行引用赋值、引用参数传递或引用返回,则会自动创建该变量。如果在 foreach语句中给一个具有引用的变量赋值,被引用的对象也被改变。引用做的第二件事是用引用传...
2020-04-09 19:12:39
99
原创 理解基本数据结构算法
1、二分查找(数组里查找某个元素)function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = intval(($low+$high)/2 ); if ($array[$mid] == $k){ return $mid; }else...
2020-04-02 21:01:03
137
原创 vagrant up 报错 Error: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to vagrantcloud.
解决:执行 env GIT_SSL_NO_VERIFY=true vagrant up
2020-03-25 17:24:27
1632
1
原创 对PHP闭包的理解
匿名函数提到闭包就不得不想起匿名函数,也叫闭包函数(closures),貌似PHP闭包实现主要就是靠它。声明一个匿名函数是这样: $func = function() { }; //带结束符可以看到,匿名函数因为没有名字,如果要使用它,需要将其返回给一个变量。匿名函数也像普通函数一样可以声明参数,调用方法也相同: $func = function( $param...
2020-03-24 13:54:58
245
原创 深入浅析Mysql联合索引最左匹配原则
前言看到一些关于mysql联合索引最左前缀匹配的文章,发现有些并不是完全正确,所以整理一下这方面的内容。最左前缀匹配原则在mysql建立联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配,示例:对列col1、列col2和列col3建一个联合索引 1 KEY test_col1_col2_col3 on test(co...
2020-03-23 15:45:39
132
原创 如何选择mysql的引擎: MyISAM与InnoDB的对比
1、MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法。不是事务安全的,而且不支持外键,如果执行大量的select,insert MyISAM比较适合。2、InnoDB:支持事务安全的引擎,支持外键、行锁、事务是他的最大特点。如果有大量的update和i...
2020-03-23 11:11:04
148
原创 Navicat常用快捷键
1,Ctrl+q就会弹出一个sql输入窗口2,Ctrl+r就执行sql了3,按f6会弹出一个命令窗口4,Ctrl+/ 注释5,Ctrl +Shift+/ 解除注释6,Ctrl+R 运行选中的SQL语句7,Ctrl+Shift+R 只运行选中的sql语句8,Ctrl+L 删除选中行内容9,Ctrl+D 表的数据显示显示页面切换到表的结构设计页面,但是在查询页面写sql...
2020-03-21 15:14:02
204
原创 浅析mysql数据库的锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。锁保证数据并发访问的一致性、有效性;锁冲突也是影响数据库并发访问性能的一个重要因素。锁是Mysql在服务器层和存储引擎层的的并发控制。加锁是消耗资源的,锁的各种操作,包括获得锁、检测锁是否是否已解除、释放锁等。锁机制共享锁与排他锁共享锁(读锁):其他事务可以读,但不能写。 排他锁(写锁) :其他事务不能读取,也不能写。粒度锁...
2020-03-18 14:43:24
144
原创 discuz万能查询用户信息sql代码
DB::result_first('SELECT * FROM '.DB::table('ucenter_members').' where uid='.$_G['uid']);
2020-03-16 15:54:59
492
原创 discuz论坛私信表情内容在php7环境不显示,preg_replace不兼容问题
discuz3.4版本,最近维护一个discuz老项目,发现私信聊天的时候,如果包含表情、链接标签等非纯文字内容,聊天内容在对话框就无法显示,发现这是php7.1.9版本不兼容preg_replace,最后只能preg_replace给成preg_replace_callback,主要修改uc_client\lib\uccde.class.php代码如下:1、$message = pre...
2020-03-14 16:53:19
259
原创 正则表达式全方位学习
一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1...
2020-03-14 16:37:34
192
原创 yii 1.0 基本框架流程
模型-视图-控制器 (MVC)Yii 实现了 Web 编程中广为采用的“模型-视图-控制器”(MVC)设计模式。MVC 致力于分离业务逻辑和用户界面,这样开发者可以很容易地修改某个部分而不影响其它。在 MVC 中,模型表现信息(数据)和业务规则;视图包含用户界面中用到的元素,比如文本、表单输入框;控制器管理模型和视图间的交互。除了 MVC,Yii 还引入了一个叫做 application ...
2020-01-21 15:34:03
378
原创 Redis面试题知识点汇总
redis在面试中几乎是无法避免的,以下整理一些redis面试知识点,供大家参考:1.Redis比memcached好在哪里?:memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 redis的速度比memcached快很多 redis可以持久化其数据2.Redis是单线程redis利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制...
2020-01-16 19:21:49
185
原创 php匿名函数
PHP匿名函数和闭包使用的句法与普通函数相同,但匿名函和闭包数其实是伪装成函数的对象.匿名函数:就是没有名称的函数.匿名函数可以赋值给变量,对象传递.不过匿名函数仍是函数,因此可以调用,还可以传入参数.匿名函数特别适合作为函数或方法的回调.闭包:是指在创建时封装周围状态的函数.即使闭包所在的环境不存在了,闭包中封装的状态依然存在.注意:理论上讲,闭包和匿名函数是不同的概念. 不过,PH...
2019-09-27 11:38:43
192
原创 mysql更新数据
今天有人问我 :把A表里面的的uid所对应的B表里面的userid的name存到A表里面的username字段中 这个怎么用一句sql实现最后写了一句 测试OK:updateA t,Bt2sett.username=t2.namewheret.uid=t2.userid;...
2019-09-24 12:19:50
139
原创 如何区分b ,B,KB,MB,GB?
不同的编码格式下字符占用的字节时不同的:ANSI 中文字符2、英文字符和数字1字节UTF-8 中文字符3、英文字符和数字1字节Unicode 中文字符2、英文字符和数字2字节b 比特bit /位B——字节KB——千比特MB——兆比特GB——吉比特1 B = 8b (8个bit/ 位) 一个字节(byte)等于8位(bit)1 kB = 1024 B (kB - kilo...
2019-09-23 18:58:35
4146
原创 sql防注入
常见攻击方式一般说来,在Web安全领域,常见的攻击方式大概有以下几种:1、SQL注入攻击2、跨站脚本攻击 - XSS3、跨站伪造请求攻击 - CSRF4、文件上传漏洞攻击5、分布式拒绝服务攻击 - DDOS限于篇幅,本篇只讨论SQL注入攻击的技巧与防范。SQL注入常见攻击技巧SQL注入攻击是Web安全史上的一个重要里程碑,它从1999年首次进入人们的视线,至今已经有十几年的历史了,虽然我们现在已经...
2018-03-26 10:50:43
3769
转载 PHP extract() 函数
定义和用法PHP extract() 函数从数组中把变量导入到当前的符号表中。对于数组中的每个元素,键名用于变量名,键值用于变量值。第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。本函数返回成功设置的变量数目。语法extract(array,extract_rules,prefix)
2014-08-29 09:53:43
178
原创 unlink()函数
定义和用法unlink() 函数删除文件。若成功,则返回 true,失败则返回 false。语法unlink(filename,context)参数描述filename必需。规定要删除的文件。context可选。规定文件句柄的环境。Context 是可修改流的行为的一套选项。
2014-08-28 09:29:41
409
原创 淘宝店铺装修轮播图片上添加多个自定义链接
受朋友之托,抽了点时间研究了一下店铺装修模板,每个模板都不一样如果想实现一张轮播图片上有多个链接,在轮播的模块内必须支持自定义代码,也就是自己添加代码,我这里就不上图片了,只分析几块重要的代码。首先我在dreamweaver生成如下代码: 这个是2张图片 每张图片有大概5
2014-08-27 10:28:28
5245
1
转载 利用jquery移除和添加图片
利用jquery移除和添加图片1、样式 .changeImage{ background:url(images/right.png) no-repeat center; }2、JS(1)在改变标签的样式,需要移除之前添加的样式$("#tab tr").find("td").r
2014-08-26 14:38:15
337
转载 html Div层的展开与收缩的特效
div展开收缩代码-www.zuidaima.com-最代码* { margin:0; padding:0;}body { text-align:center; font:75% Verdana, Arial, Helvetica, sans-serif;}h1 { font:125% Arial, Helvetica, sans-serif; text-align:left; font-
2014-08-26 14:31:37
1083
转载 PHP中file_exists与is_file,is_dir的区别介绍
PHP的 file_exists = is_dir + is_file 它既可以判断文件是否存在,又可以判断目录是否存在。但这样一个全面的函数执行效率非常低,就像asp中request不指定是form,还是get,cookies,所以结论是:◦如果要判断目录是否存在,请用独立函数 is_dir(directory) ◦如果要判断文件是否存在,请用独立函数 is_file(f
2014-08-19 16:15:02
242
转载 PHP isset()与empty()的使用区别详解
PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, ...]] ) 功能:检测变量是否设置 返回值: 若变量不存在则返回 FALSE 若变量存在且其值为NULL,也返回 FALSE 若变量存在且值不为NULL,则返回 TURE 同时检查多个变量时,每个单项都符合上一条要求时
2014-08-19 16:11:34
224
原创 jquery插件发生错误 Uncaught TypeError: Object [object Object]
jquery插件报错,后来发现时引用的顺序
2014-07-18 16:47:36
712
转载 字符串的包含 php
PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用。PHP判断字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过explode函数的作用写一个判断函数。1. strstr: 返回一个从被判断字符开始到结束的字符串,如果没有返回值,则不包含代码如下: ?php /*如手册上
2014-07-18 10:12:36
349
转载 新手程序员最常用的十大网站
刚开始入行的程序员很多很迷惘,不知道去哪里找到合适有用的资源,哪里有和自己一样的新手,哪里有高手,哪有有代码可以学习。 我将分享一些收藏多年且非常有价值的网站跟大家分享。 1、 Google https://www.google.com/ 不是你不知道,而是你不善用google,使用google有非常多的技巧,可以网上搜索google搜索技巧。 2、Stackoverflo
2014-07-08 17:40:38
534
转载 ShopNC 商城系统开发经验分享第六篇: 二次开发代码规范建议
关于PHP书写:1. 代码标记建议使用标准形式(),不建议使用简写形式(),如果服务器未开启对短标记的支持(short_open_tag = Off),将会有暴露源码的危险。2. 模板中输出变量使用“echo” 输出,以分号结尾,不建议使用“=”输出。3. 对于函数级、类类及文件头注释使用C样式的注释“/* */”,对于代码行(段)的注释可使用标准C++注
2014-07-08 17:34:16
832
转载 用php实现excel的rank函数功能
sql语句实现排名是像这样的如:总分成绩为 195,180,180,161,名次分别为1,2,3,4,遇到并列的情况也是按照顺序的,而Excel函数rank排名得到的结果是1,2,2,4,遇到并列跳过中间的3下面的函数模拟的就是这种情况函数如下(不知道有没有更好的实现方法):公式为: 名次=总人数--比自己小的数的个数-这个分数重复次数+1(加上自己)得到名次的数组再根据对
2014-07-08 17:17:21
452
转载 php编写大型网站问题集
PHP以其易用性得到迅速的推广,但易用并不是说就能用好它,实际上许多程序员用它很容易的立一个个WEB应用系统,但又有多少人仔细的考虑过他们的代码,是否容易维护、是否足够健壮、否效率足够高、是否足够安全,当PHP用于建立大型网站时这些就成为很关键的因素。下面我们从较轻微的问题开始讨论,直至一些致命的错误。共分三部分。 第一部分、较轻微的错误 一、Printf(), 该函数主要
2014-07-08 17:08:48
171
转载 10个必看的PHP小代码,很实用!
获取浏览器IP地址 function getRemoteIPAddress() { $ip = $_SERVER['REMOTE_ADDR']; return $ip; } 如果有代理服务器的情况下获取IP function getRealIPAddress() { if (!empty($_SERVER['HTTP_C
2014-07-08 16:54:47
283
转载 代码之美 - 如何写出优雅的PHP代码
写出优秀的程序代码是一门艺术,要想如此,就必须在一开始就养成良好的编程习惯。良好的编程习惯不仅有助于项目初期的设计(如模块化),还可以使你编写的代码更易于理解,从而使代码的维护工作更轻松、更省力。不好的编程习惯则会造成代码bug,并且会使以后的维护工作困难重重。 本文以PHP语言为例,介绍一些良好的编程习惯,希望能够对你有所帮助。 1. 规划代码结构 优秀的PHP代码应该有清晰的
2014-07-03 14:30:39
747
原创 商城二次开发入口简单研究---- 20140701
shopNC 主目录下面的index.php文件$site_url = strtolower('http://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/index.php')).'/shop/index.php');@header('Location: '.
2014-07-01 15:56:54
609
邮箱找回密码验证
2014-06-11
phpStudy.zip
2014-05-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人