
php
铮亮不锈
喜欢交朋友、户外运动、台球等,常想未竟之业笃志而行,朋友这种关系最美是锦上添花花好月更圆,最可贵是雪中送炭
展开
-
使用guzzleHttp组件并发请求多个接口
PHP使用guzzle组件并发发送多个请求,请求多个接口原创 2023-10-22 20:50:27 · 948 阅读 · 0 评论 -
根据百度坐标获取两坐标之间的距离
百度两坐标之间的距离原创 2022-04-28 23:23:23 · 634 阅读 · 0 评论 -
docker file for php7.2-fpm
FROM php:7.2-fpmMAINTAINER admin "admin@163.com"# 设置时区ENV TZ=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezoneRUN echo "nameserver 8.8.8.8" > /etc/resolv.conf && echo "nameserver 8.8.8原创 2021-03-13 20:21:23 · 567 阅读 · 0 评论 -
验证本地或远程网址是否HTTP/2站点
验证本地或远程网址是否HTTP/2站点概论以下是一个验证的类以及静态方法最终返回的结果如下概论现在越来越多的站点开始支持HTTP/2协议,那我们如何验证请求的网址是Http2.0协议的接口呢?又如何验证本地PHP环境(curl类库)是否支持Http2.0协议呢?以下是一个验证的类以及静态方法<?php$a = CURL_VERSION_HTTP2;echo 'CURL_VERSION_HTTP2:';var_dump($a);echo '<hr/>';$b = CURL原创 2020-12-09 21:59:46 · 746 阅读 · 0 评论 -
判断手机号是否合法的正则表达式 备注一下
经常遇到判断手机号格式是否合法的情况,这里就备注一下public static function VerifyPhone($Phone = null){ /** * 移动:134、135、136、137、138、139、150、151、152、157、158、159、182、183、184、187、188、178(4G)、147(上网卡); * 联通:130、131、132、155、156、185、186、176(4G)、145(上网卡);原创 2020-09-16 14:01:50 · 728 阅读 · 0 评论 -
用PHP实现Dijkstra算法,计算从起始点到其他任一节点的最短路径长度
一个图中有很多点,如何求出两点之间的最短距离呢?这实际上涉及到一个算法问题,如下图所示:一张图上有从A到G七个节点,如果想求出任一个节点到D节点的最短距离,该怎么办呢?参照 Dijkstra算法原理,我用PHP实现了该算法,感谢“平凡的L同学”,他的文章读后立即就能明白算法的原理。<?php/** * 这是一个节点类 */class Node { //标记该节点是否已得到最短路径 var $isMarked = false; //标记该节点离起始节点的最短路原创 2020-08-18 15:09:30 · 710 阅读 · 0 评论 -
PHP 如何验证字符串中左右括号是否匹配
PHP笔试题,一个字符串里有很多个小括号,要求 小括号可以嵌套,但是必须保证左右匹配, 要求写出一个方法能验证该字符串中是否符合小括号规定的格式<?php/** * PHP笔试题,一个字符串里有很多个小括号,要求 小括号可以嵌套,但是必须保证左右匹配 * 给出一个方法,要求能验证该字符串中是否符合小括号规定的格式 */$input1 = '))))((((()';$input2 = '((()))()';$input3 = '((())())';$input4 = ')(()()原创 2020-08-09 00:39:18 · 774 阅读 · 0 评论 -
PHP 如何找到数组中不重复的那些元素
一道php测试题,要求 找到数组中不重复的那些元素,主要考察使用array_count_values()这个方法的,该方法是php自身提供的一个计量某元素出现次数的一个方法,用了该方法后效率确实提高不少以下是一次算法耗时以及占用内存的一个统计情况<?php/** * 一个简单的php算法题: 要求只获取那些不重复的数据,要保证高效率 * */$input = [1,1,2,2,5,5,1,6,2,3,7,7,9,9];for ($i=0; $i<100000; ++$i) {原创 2020-08-07 23:00:30 · 668 阅读 · 0 评论 -
组织结构的递归输出方法
一道PHP笔试题的解法,递归地输出组织架构下的每一个人的所有下属<?php$team = [ '张三' => [ '刘备'=>[ '张飞' => null, '关羽' => [ '马良' => null ], ], '孟达'=>null ], '李四' => [ '王原创 2020-08-01 21:35:29 · 683 阅读 · 1 评论 -
array_merge/array_merge_recursive/+ 几个数组合并方法的区别
array_merge/array_merge_recursive/+ 几个数组合并方法的区别php平时开发中,经常会用到 array_merge来合并两个数组,有时候也会用 + 来合并两个数组,php手册上还有 array_merge_recursive这种合并方法,那么这三者到底有何区别呢?下面是一个实际的例子$arrA = ['a'=>1, 'b'=>2, 'c'=>3, 'aab', 'd'=>['are', 'you', 'ok']];$arrB = [1,原创 2020-07-29 10:36:41 · 342 阅读 · 0 评论 -
laravel框架中使用GuzzleHttp并发请求多个接口
Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上。接口简单:构建查询语句、POST请求、分流上传下载大文件、使用HTTP cookies、上传JSON数据等等。发送同步或异步的请求均使用相同的接口。 使用PSR-7接口来请求、响应、分流,允许你使用其他兼容的PSR-7类库与Guzzle共同开发。抽象了底层的HTTP传输,允许你改变环境以及其他的代码,如:对cURL与PHP的流或socket并非重度依赖,非阻塞事件循环。中间件系统允许你创建构成客户端行为。原创 2020-06-18 10:36:01 · 4761 阅读 · 0 评论 -
Linux下搭建Consul微服务注册中心并结合swoft框架使用
首先下载consul文件包wget https://releases.hashicorp.com/consul/1.6.2/consul_1.6.2_linux_amd64.zipunzip consul_1.6.2_linux_amd64.zip解压之后实际上是一个单一的文件 ./consul然后配置consul集群主服务器: 192.168.56.107备份服务器:192...原创 2019-12-31 18:10:51 · 1226 阅读 · 0 评论 -
php7中的异常和错误处理
在PHP7.*版本中,一些Error和Exception可以通过try catch语句捕获到可捕获的异常/错误大致有以下三种:Error:PHP内核抛出错误的专用类型, 如类不存在, 函数不存在, 函数参数错误, 都会抛出此类型的错误,PHP代码中不应该使用Error类来作为异常抛出Exception:应用开发者应该使用的异常基类ErrorException:此异常基类专门负...原创 2019-12-24 14:57:45 · 858 阅读 · 0 评论 -
为什么需要锁(并发控制)?
数据库为什么需要锁(并发控制)转载 2016-09-30 18:04:48 · 3298 阅读 · 0 评论 -
使用redis解决一些并发访问的问题
如何使用redis来防止并发抢购的问题呢?原创 2017-04-28 16:27:50 · 7923 阅读 · 0 评论 -
php自带压缩方法的性能比较
php自带的压缩方法哪一个性能更好一些呢?原创 2017-05-27 20:03:02 · 5671 阅读 · 0 评论 -
使用redis实现获取在线用户列表
如何使用redis实现获取在线用户列表呢?原创 2017-05-05 18:47:54 · 10345 阅读 · 0 评论 -
mysql中使用事务和行锁解决并发修改的问题
如何解决并发修改账户金额的问题?原创 2017-03-21 10:33:19 · 4399 阅读 · 0 评论 -
nginx通过rewrite方式处理路由
nginx通过rewrite方式处理路由原创 2016-10-27 22:35:27 · 5942 阅读 · 0 评论 -
一个php简单的框架实现,仅实现了简单路由层
这是一个简单的php框架的实现代码,其他框架原理大致与此相同的。原创 2017-01-23 17:19:21 · 5951 阅读 · 1 评论 -
字符串反转函数
如果不用php自带的字符串反转函数,我们如何实现该功能呢?原创 2017-02-28 16:48:02 · 1210 阅读 · 0 评论 -
mongodb3.0.3 添加认证用户和密码
mongodb安装好之后,如果不设置密码来访问,会有一些潜在的安全问题,现在为mongodb设置一个访问用户并用密码登录吧。原创 2015-05-27 11:57:55 · 7197 阅读 · 0 评论 -
html5预览并上传图片的功能
如何使用html5 fileReader来上传图片呢?原创 2017-07-28 19:38:19 · 11647 阅读 · 0 评论 -
php使用session来控制仅有一个账号登录应用
php如何使用session来实现互斥登录应用的功能呢?原创 2017-07-28 20:00:52 · 2760 阅读 · 0 评论 -
ThinkPHP rsa非对称加密类
如何使用thinkPHP来实现非对称加密原创 2017-07-28 20:13:59 · 3657 阅读 · 0 评论 -
web网站中的单例模式
class DomProcessor{ var $obj_type; var $obj_name; private static $instance = null; function __construct($obj_type) { echo 'arrive in __constrct()',''; $thi原创 2013-07-19 22:32:42 · 1352 阅读 · 0 评论 -
PHP使用curl_multi_exec多线程并发抓取数据
PHP使用curl_multi_exec并行发送多个请求以下是一个使用curl_multi_exec的实际例子php文件 curl_multi.php以下是一个使用curl_multi_exec的实际例子有时候在一个PHP方法中要多次调用外部的接口,为了提高效率,我们不妨使用curl_multi_exec并行发送多个请求,可以明显地提高获取响应数据的效率,下面是一个实际运行的例子。php文件...原创 2019-09-16 19:17:23 · 6252 阅读 · 2 评论 -
php 关于__invoke方法调用
在php5.3版本及之后,当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用下面是一个调用的实例,来深刻理解一下他的运行机制。<?php/** * 当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。 */class basicA { protected $varA; protected $varB; ...原创 2019-07-01 20:38:00 · 1662 阅读 · 0 评论 -
laravel 如何实现mysql表关联以及联合
laravel mysql表关联以及联合示例代码关联条件如果是多个时,应该尽量都放到on条件下关联查询一般是,先关联到数据后在根据where条件查询,所以关联的条件很重要,尽可能加上,可以让源数据尽可能地少,减小内存的占用。laravel 如何实现多条件关联?关联查询时,如果表名特别长有时候会超出一行不太方便,这里需要使用别名laravel 如何实现表别名?mysql查询时,有时候需要...原创 2019-03-12 17:49:46 · 1126 阅读 · 0 评论 -
redis-cluster 分布式集群
redis分布式集群redis分布式集群概述Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误.Redis 集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下继续处理命令.Redis 集...原创 2018-11-30 11:25:53 · 722 阅读 · 0 评论 -
CI框架中的事务嵌套问题
我的环境 PHP5.6.25+ CI 2.2.0版本代码,该版本事务嵌套有问题。问题1:事务嵌套,即:主方法中有 db->trans_begin(),子方法中也有db->trans_begin() ,如果子方法中也有事务,则如果回滚的话,会导致子方法之前的语句不受子方法中db->trans_rollback()的影响,所以可以考虑在主方法中开启事务,子方法不再开启事务,只需要在业务出错的时原创 2018-01-05 19:59:40 · 2157 阅读 · 0 评论 -
PHP CI框架的url路由配置
CI框架对应的nginx配置,Windows或linux下的配置原创 2017-09-22 18:52:16 · 4376 阅读 · 0 评论 -
nginx设置图片防盗链
如何为我们的网站中的图片或视频资源设置防盗链?原创 2017-02-28 15:16:22 · 4320 阅读 · 0 评论 -
使用nodejs+socket.io+redis订阅发布完成竞拍的过程
简单地模拟一个拍卖出价的过程原创 2017-08-28 20:34:00 · 3969 阅读 · 0 评论 -
codeIgniter中发送邮件的调用方法
如何调用CI框架中的发送邮件类原创 2016-09-30 14:13:00 · 452 阅读 · 0 评论 -
php关于session应注意的事项
php处理session时,应注意的代码写法原创 2016-09-28 10:47:52 · 646 阅读 · 0 评论 -
学习MVC模式
实现一个最简单的部门信息的CURD,如果你能做到修改数据结构而不用修改任何代码,那么你就初步实现了业务逻辑和数据访问的分离;再如果,修改界面的查询条件或者列表而不用修改任何代码,那么你就初步实现了业务逻辑和界面的分离;能做到这些,就差不多是MVC的设计模式了原创 2014-04-08 22:04:12 · 674 阅读 · 0 评论 -
php操作mongodb的一些方法
$mongo_client = new MongoClient('mongodb://dev:developer@127.0.0.1:27017'); $result = $mongo_client->connect(); echo 'result='.$result.''; $records = $mongo_client->selectCollecti原创 2014-03-26 23:02:21 · 689 阅读 · 0 评论 -
将MongoDB设置为服务随机启动
#指定服务端口号,默认为27017port=27017#指定MongoDB日志文件logpath=/home/manager/mongodb-linux-i686-2.2.7/log/mongodb.logpath#使用追加的方式写日志logappend=true#指定数据库路径dbpath=/home/manager/mongodb-linux-i686-2.2.7/原创 2014-03-23 23:47:51 · 982 阅读 · 0 评论 -
nginx和apache并发性能测试对比
今天在ubuntu 12.04 service版本上搭建了apache2+php的站点以及nginx+php5-fpm的站点,简单地用apache自带的ab工具测试了一下并发的性能,具体的测试脚本如下: $arr = array(); for($i=0;$i { $arr['areyouok'.$i] = $i*$i; } p原创 2014-03-28 23:03:36 · 2791 阅读 · 0 评论