- 博客(125)
- 收藏
- 关注
原创 PHP代码优化与总结
PHP语法调优与坑author:hoewang文章目录PHP语法调优与坑isset千百倍优于in_array熟练使用continue与breakwhile里面断点问题循环处理foreach使用&引用in_array的自作聪明模式关于array_column强大用法array_merge的坑短路代码灵活使用list直接取方法返回数组的变量关于检测字符串存在array_unique问题a...
2020-03-19 19:58:30 339 1
原创 关于GIT工作中使用汇总
常用指令git init //初始化本地git环境git clone XXX//克隆一份代码到本地仓库git pull //把远程库的代码更新到工作台git pull --rebase origin master //强制把远程库的代码跟新到当前分支上面git fetch //把远程库的代码更新到本地库git add . //把本地的修改加到stage中git commit -m '...
2019-08-10 16:19:35 332 1
原创 session和cookie的联系
1.区别 session存在于服务器,以文件的形式,安全,量大 cookie是基于浏览器(客户端)的,相对不安全,大小限制,2.session_start()的时候做了什么(A区间:生成) a.服务器生成了对应的session_id; b.服务器生成了对应session_id对应的文件:文件内存储此session_id对应的用户的设置的变量等信息...
2019-01-11 10:50:44 510 1
原创 chkconfig使用,service 服务 start模式的使用
1.步骤1 在/etc/rc.d/init.d这个文件中进行创建相对应的shell脚本2.例如一下的xunsearch服务的脚本#!/bin/bash#chkconfig: 2345 55 25#descript: Start xunsearchmode=$1 # start or stopcase "$mode" in 'start') # Start d...
2018-12-26 14:22:54 443
原创 Thinkphp各个版本总结------终结版本!
Thinkphp各个版本总结:tp3.2.3,tp5.0,tp5.1差异终得闲暇时间(也就两三个小时)能够进行这6个月对tp框架的使用总结了:1.框架隐藏模块差异:tp3.2.3:其实还比较麻烦//隐藏入口文件在与入口文件同级目录,将.htaccess文件中RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]修改为RewriteRule...
2018-09-20 16:45:05 3546
原创 关于php下开发的跨域问题总结(全)
跨域问题介绍: 在A网站中,我们希望使用Ajax来获得B网站中的特定内容。如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。你可以理解为两个域名之间不能跨过域名来发送请求或者请求数据,否则就是不安全的。跨域访问违反了同源策略,同源策略的详细信息可以点击如下链接:Same-origin_policy; 总而言之,同源策略规定,浏览器的ajax只能访问跟它的HTML页面同源(...
2018-06-04 16:44:01 552
原创 linux下的phpize扩展安装
linux系统中,php安装成功后,在bin目录下会生成一个名叫phpize的可执行脚本,这个脚本的用途是动态安装php扩展模块。使用phpize脚本安装php扩展模块的好处:在安装php时没有安装的扩展,可以在以后随时安装上,且不需要重新安装PHP。 安装步骤: 1、切换到扩展模块目录在php源码包被解压后的目录中有个ext子目录,这里有近70多个主流的php扩...
2018-02-26 18:08:57 2732
原创 PHP8新特性
文章目录最人性特性:命名参数、联合类型、mixed类型联合类型最具贡献的特性:JIT构造器属性提升nullsafe运算符str_contains()、str_starts_with()和str_ends_with()函数最具潜力的特性:注解、Match表达式、WeakMap注解Match表达式WeakMap其它特性traits 中的抽象方法改进最人性特性:命名参数、联合类型、mixed类型这几个新特性让PHP在强类型方面进一步完善,而且对PHPDoc的注释依赖越来越弱,代码即文档的好处是开发者最头疼的事
2021-03-23 14:07:19 638 2
转载 laravel使用redis的分布式锁
laravel的缓存类的store的redis实现,位于命名空间Illuminate\Cache\RedisStore其中实现了LockProvider,可获取锁实例,锁实例为Illuminate\Cache\RedisLock类的实例,RedisLock类是Illuminate\Cache\Lock抽象类的实现调用方法get()获取锁时(RedisLock->get()),首先调用$this->acquire(),具体代码为public function acquire() {
2021-01-19 17:46:57 820
原创 如何安装部署beego项目
安装- cd /tmp- wget https://golang.google.cn/dl/go1.15.3.linux-amd64.tar.gz- tar -C /usr/local -xzf go1.15.3.linux-amd64.tar.gz- export PATH=$PATH:/usr/local/go/bin- go version系统常量配置- vim /etc/profile- 结尾追加 export GO111MODULE="on" export G
2021-01-11 16:47:19 418 1
原创 搭建jenkins并部署php项目
搭建jenkins1.wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo 2.rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key 3.yum install jenkins4.yum install java-1.8.0-openjdk配置vim /etc/sysconfig/jenkins J
2020-12-29 15:56:11 487
原创 最新制作composer包
1.github创建仓库github创建仓库(生成一个readme文件)github添加ssh秘钥本地环境生成一下秘钥 git config --global user.name "HoeWang" git config --global user.email "37407409@qq.com" ssh-keygen -t rsa -C “37407409@qq.com”然后将id_rsa.pub文件里面的秘钥复制到github的设置ssh当中本地git clon
2020-12-11 13:49:23 193 1
原创 php高精度计算的封装介绍
文章目录概要php浮点数精度计算的坑原因方案php提供的高精度函数库bcBC的主要相关函数可能为缺陷为何需要封装?代码示例关于舍去以及四舍五入如果要BC支持四舍五入关于封装概要php浮点数精度计算的坑$a = 2586;$b = 2585.98;var_dump($a-$b);期望的结果是:float(0.02)实际结果:float(0.019999999999982)原因小数的二进制表示有时是不可能精确的。其实道理很简单,十进制系统中能不能准确表示出1/3呢?同样二进制系统也无法
2020-09-28 13:47:07 488
转载 基础iptables配置
iptables里面的dport和sport首先先来翻译一下dport和sport的意思:dport:目的端口sport:来源端口初学iptables比较容易迷糊,但是我尽量用通俗的语言给你讲解。dport 和sport字面意思来说很好理解,一个是数据要到达的目的端口,一个是数据来源的端口。但是在使用的时候要分具体情况来对待,这个具体情况就...
2019-04-24 15:51:24 239
原创 react各个子元素绑定气泡以及数组循环创建元素
render: (text, cell) => { if ((cell.bill_type == 1310 || cell.bill_type == 1318) && cell.info.ladder_coeff && cell.info.ladder_coeff !== []) { const ladder_coeff ...
2019-04-18 16:45:08 517
原创 php基础递归
public function getViewSonIds($viewIds = [], $isp_ids = []) { static $allIds = []; $viewModel = ViewModel::query(); if (empty($viewIds)) { return []; ...
2019-03-29 11:03:17 216
转载 水平分表实例
水平分表比较简单, 理解就是:合并的表使用的必须是MyISAM引擎 表的结构必须一致,包括索引、字段类型、引擎和字符集 数据表user1 1 2 3 4 5 6 CREATE TABLE `user1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `n...
2019-02-20 16:46:17 625
转载 php相关算法题目(转)
1、一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。function king($n, $m){ $monkeys = range(1, $n); //创建...
2019-02-19 15:47:53 992
原创 php的set_error_handler的错误记录回调
<?phpset_error_handler(function($errno, $errstr, $errfile, $errline){ // var_dump($errno); //错误级别 // var_dump($errstr); //错误信息 // var_dump($errfile); //错误文件路径 // var_dump($errline)...
2019-02-15 17:18:27 436
原创 一键导出CSV文件
/** * 导出CSV * @param array $data [description] * @param array $headlist [description] * @param [type] $fileName [description] * @return [type] [description] */function write...
2019-01-23 15:22:08 678
原创 2018年小米高级 PHP 工程师面试题(模拟考试卷)
1、通过哪一个函数,可以把错误转换为异常处理?A:set_error_handlerB:error_reportingC:error2exceptionD:catch正确答案:A 答案分析:set_error_handler() 可指定一个回调函数,错误发生时,会自动通过指定的回调函数处理。在回调函数中抛出新的异常即可。 2、下列哪个shell函数的描述是正确的?A:...
2019-01-10 16:03:52 814 1
原创 swoole的task以及线程使用案例
<?php$workers = [];$worker_num = 2;for( $i = 1; $i <= $worker_num; $i++){ $process = new swoole_process('doProcess',false,false); $process->useQueue();//开启队列,类似全局函数 $pid = $process->...
2019-01-05 15:04:55 639
原创 swoole各种服务器初步搭建
1.TCP搭建<?php$host = '192.168.50.66';$port = 9501;$serv = new swoole_server($host,$port);$serv->on('connect',function($serv, $fd){ echo "建立连接\n"; var_dump($serv, $fd);});$serv->on('...
2019-01-05 15:00:51 566
原创 编译安装swoole
1.http://pecl.php.net/package/swoole下载解压2.cd 进去3.phpize4.指令:./configure --prefix=/usr/local/swoole --with-php-config=/usr/local/php/bin/php-config5.make 6.make install编译安装成功后,修改php.ini加入ext...
2019-01-03 15:28:04 338
原创 PHP浮点数计算bc函数使用
/** * 两个高精度数比较 * * @access global * @param float $left * @param float $right * @param int $scale 精确到的小数点位数 * * @return int $left==$right 返回 0 | $left<$right 返回 -1 | $left>$rig...
2018-12-28 14:40:11 319 1
转载 swoole多进程
版权声明:只要有树叶飞舞的地方,火就会燃烧,火的影子照耀着村子,新的树叶就会发芽。 https://blog.csdn.net/koastal/article/details/52871316多个任务同时执行 将顺序执行的任务,转化为并行执行(任务在逻辑上可以并行执行)比如,我们要对已知的用户数据进行判断,是否需要发送邮件和短信,如果需要发送则发送。不使用多进程时,我们首先判断...
2018-12-25 17:56:22 319 1
原创 workerman总结(不定时更新)
##websocket###1.workermana.根据官方的安装安装中可能需要配置php.ini中的disable_function参数b.js中的var ws = new WebSocket(“ws://192.168.0.11:2000”);ws.onopen = function() {alert(“连接成功”);ws.send(‘tom’);alert(“给服务端发送...
2018-12-19 09:57:22 439
转载 微信小程序支付完整示例
本文实例为大家分享了php实现小程序支付的具体代码,供大家参考,具体内容如下环境: tp3.2 + 小程序 微信支付功能开通Step1: 下载PHP 支付SDK(下载地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1) 放到Library\Vendor下,取名Wxpay 修改WxPa...
2018-12-06 17:23:46 1825
转载 Mysql索引命中问题
索引概念和作用 索引是一种使记录有序化的技术,它可以指定按某列/某几列预先排序,从而大大提高查询速度(类似于汉语词典中按照拼音或者笔画查找)。 索引的主要作用是加快数据查找速度,提高数据库的性能。 MySQL 索引类型 从物理存储角度上,索引可以分为聚集索引和非聚集索引。 1. 聚集索引(Clustered Index) 聚集索引决定数据在磁盘上的物...
2018-11-09 15:33:24 4691
原创 GCC升级问题解决:configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+,mpfr2.4.0完整解决
1.sudo yum install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel如果出现了上面的两个包不存在的情况("No package XXX available")的话就进行步骤22.cd /homewget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel...
2018-11-03 00:01:31 5581
转载 linux系统的GCC升级
一、简易安装操作环境 CentOS6.5 64bit,原版本4.4.7,不能支持C++11的特性~,希望升级到4.8.2不能通过yum的方法升级,需要自己手动下载安装包并编译1.1 获取安装包并解压wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2tar -jxvf gcc-4.8.2.tar.bz2当然,...
2018-11-02 14:11:44 3169 3
原创 小程序使用smart模板的方法
总结:如何在小程序当中使用smarty模板1.准备a)拥有smarty模板的api接口架构 例如:TP5b)小程序的架构 例如:微信小程序2.接口的小程序分支1.判断是不是小程序2.是小程序请求的情况下将原本要传输回去在小程序中进行循环渲染的数据进行传入接口自己的view层3.将view模板解析后的html代码返回给小程序3.TP如何获取自身的vi...
2018-10-30 10:37:34 830
转载 Mysql外键得使用
一、基本概念1、MySQL中“键”和“索引”的定义相同,所以外键和主键一样也是索引的一种。不同的是MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确的索引。用于外键关系的字段必须在所有的参照表中进行明确地索引,InnoDB不能自动地创建索引。2、外键可以是一对一的,一个表的记录只能与另一个表的一条记录连接,或者是一对多的,一个表的记录与另一个表的多条记录连接。3、如...
2018-10-25 09:54:40 173
原创 微信小程序总结
小程序总结1.图片路径问题在微信小程序当中,图片路径的问题当中,特别需要注意背景图的路径不允许使用本地的路径,只能使用线上路径的图片以及base64为的编码路径。2.数据自动刷新在微信小程序当中,js中定义的data相关数据,在js中对相应数据进行处理的时候,页面上的数据也会自动更新,真正实现了无刷新技术,类似Vue框架的数据绑定。其中自动刷新用到的一个函数就是系统自带的将...
2018-10-24 16:48:37 352
转载 mysqlbinlog指令
binlog是通过记录二进制文件方式来备份数据,然后在从二进制文件将数据恢复到某一时段或某一操作点。1、使用mysqlbinlog工具来恢复Mysqlbinlog日志如何开启?在my.cnf这个文件中加一行。#vi /etc/my.cnf[mysqld]log-bin=mysqlbin-log #添加这一行就可以了,=号后面自己定义日志文件名,默认该文件是存储在datadir中。mys...
2018-10-19 10:02:13 694
转载 mysql的binlog灾难恢复
binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 其一:MySQL Repl...
2018-10-18 17:36:49 296
转载 mysql主从数据库配置
MYSQL主从同步是目前使用比较广泛的数据库架构,技术比较成熟,配置也不复杂,特别是对于负载比较大的网站,主从同步能够有效缓解数据库读写的压力。MySQL主从同步的机制MYSQL主从同步是在MySQL主从复制(Master-Slave Replication)基础上实现的,通过设置在Master MySQL上的binlog(使其处于打开状态),Slave MySQL上通过一个I/O线程从Ma...
2018-10-18 17:13:31 236
原创 字符串处理(包括正则生成工具)
例如:我们要获取:EE20181017143211468888$result = '积分商城扣除积分 1订单号: EE20181017143211468888 OPENID: sns_wa_o_L7W5R4HWpw1kY5DXjzsdu9eCSc';$bb = strpos($result,"订单号: ",0);$cc = strpos($result," OPENID",0);$dd...
2018-10-17 15:22:17 1907
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人