随笔分类 -  PHP

PHP相关的技术和问题
摘要:PHP中对象是按值传递还是按引用传递? 1.首先,什么是按值传递和按引用传递? 按值传递就是仅仅把值传递过去,相当于传递的是值的拷贝,而按引用传递传递的是内存的地址。 在 PHP 中,如果按引用传递,就是将 zval 的地址赋给另一个变量,这时,两个变量都指向同一个 zval 。而按值传递则是复制一 阅读全文
posted @ 2023-12-03 22:27 _Eternity味道 阅读(88) 评论(0) 推荐(0) 编辑
摘要:https://www.cnblogs.com/xu1115/p/10916423.html(简要说明函数作用,主要有很多未曾见过或使用过的神奇函数) https://blog.csdn.net/qq_35458793/article/details/80651773 (简要说明函数用法与返回数值) 阅读全文
posted @ 2020-10-30 17:55 _Eternity味道 阅读(84) 评论(0) 推荐(0) 编辑
摘要:转自 https://www.cnblogs.com/xu1115/p/10916423.html 整理的很好,收藏着自己看,后期可能会有补充。 usleep() 函数延迟代码执行若干微秒。unpack() 函数从二进制字符串对数据进行解包。uniqid() 函数基于以微秒计的当前时间,生成一个唯一 阅读全文
posted @ 2020-10-30 16:53 _Eternity味道 阅读(81) 评论(0) 推荐(0) 编辑
摘要:有个非常好的案例就是遍历目录。常规的做法就是使用 scandir ,然后跳过「.「 和 「..」,以及其它未满足条件的文件。例如你需要遍历个某个目录抽取其中的图片文件,就需要判断是否是 jpg、gif 结尾。 下面的代码就是使用 SPL 的迭代器执行上述递归寻找指定目录中的图片文件的例子 阅读全文
posted @ 2020-05-12 15:20 _Eternity味道 阅读(269) 评论(0) 推荐(0) 编辑
摘要:刚用指针解答一到算法题,联想到一些问题,在此记录 PHP5.6的输出如下: PHP7.1的输出如下: 区别 PHP5.6中数组遍历后,是移动的指针,移呀移呀,就不在数组的有效范围内了。故此,执行各种操作都是NULL或false PHP7.1中,遍历后指针仍在数组的头部,因为按照值进行循环的时候, f 阅读全文
posted @ 2020-01-09 14:30 _Eternity味道 阅读(566) 评论(0) 推荐(0) 编辑
摘要:用到了 redis 的键空间通知(keyspace notifications) 今天帮忙解决问题时遇到的redis一个功能点 具体行为就是:某个键值到了过期时间自动触发回调函数,然后执行一些操作,比如订单15分钟未支付就自动取消。 系统环境Win10, PHP7.1 下面记录下刚才爬的坑: 1、r 阅读全文
posted @ 2020-01-08 18:30 _Eternity味道 阅读(5695) 评论(0) 推荐(0) 编辑
摘要:在php中, 出现这种情况的原因是 但是 double 到了 PHP 中则只有 13~14 位了,有点不明白,PHP的float类型明明是指向一个C语言double类型,为何最后少了一位呢又? 暂时不明白 阅读全文
posted @ 2019-11-26 18:11 _Eternity味道 阅读(1649) 评论(0) 推荐(0) 编辑
摘要:当一台服务器部署多个PHP项目,各自运行时并无干扰, 即使都使用 9000端口来跑php 但是有一种情况,当其中一个项目需要调用另一个php项目的接口时,便会超时,这是因为php是单线程的同步的 也许设置超时时间为0,不等待接口返回是一个方法,但更多时候我们需要等待返回结果 这时,我们便需要给其中一 阅读全文
posted @ 2019-10-23 15:40 _Eternity味道 阅读(630) 评论(0) 推荐(0) 编辑
摘要:php下载单文件 以及 多文件打包下载,支持断点续传 断点续传的功能未经验证 需要nginx或者apache服务器指定静态文件,png, mp4, zip等后缀文件的目录, 直接实例化并调用 download 方法, filename为前台传过来的参数, 实验时,可以先设置默认值来调用。 阅读全文
posted @ 2019-10-23 14:44 _Eternity味道 阅读(369) 评论(0) 推荐(0) 编辑
摘要:背景 公司做网盘系统,一直在调用图片服务器的接口上传图片,以前写的,以为简单改一改就可以用 最初要求 php 上传多种视频格式,支持大文件,并可以封面截图,时长统计 问题 1、上传到阿里云服务器,13秒左右,连接被重置 2、切换到本地服务器后 413 Request Entity Too Large 阅读全文
posted @ 2019-09-25 20:32 _Eternity味道 阅读(7217) 评论(3) 推荐(1) 编辑
摘要:有关迭代生成器的内容在这篇博客中 协程 协程的支持是在迭代生成器的基础上, 增加了可以回送数据给生成器的功能(调用者发送数据给被调用的生成器函数). 这就把生成器到调用者的单向通信转变为两者之间的双向通信. 传递数据的功能是通过迭代器的send()方法实现的. 下面的logger()协程是这种通信如 阅读全文
posted @ 2019-08-29 18:32 _Eternity味道 阅读(286) 评论(0) 推荐(0) 编辑
摘要:上次说了php的生成器Iterator,这次说一下yield 迭代生成器 (迭代)生成器也是一个函数,不同的是这个函数的返回值是依次返回, 而不是只返回一个单独的值.或者,换句话说,生成器使你能更方便的实现了迭代器接口.下面通过实现一个xrange函数来简单说明: 这也解释了为什么xrange叫做迭 阅读全文
posted @ 2019-08-29 14:11 _Eternity味道 阅读(189) 评论(0) 推荐(0) 编辑
摘要:以前也看过迭代器Iterator接口,感觉不如yied好用,因此实际工作中并没有用到过。 今天看了一篇网上的博客(https://www.cnblogs.com/wwjchina/p/7723499.html),想起自己之前看过的迭代器Iterator,好像也是这么讲的,然而看完后,发现好像更迷糊了 阅读全文
posted @ 2019-08-29 14:08 _Eternity味道 阅读(610) 评论(0) 推荐(1) 编辑
摘要:雪花算法简单描述: 最高位是符号位,始终为0,不可用。 41位的时间序列,精确到毫秒级,41位的长度可以使用69年。时间位还有一个很重要的作用是可以根据时间进行排序。 10位的机器标识,10位的长度最多支持部署1024个节点。 12位的计数序列号,序列号即一系列的自增id,可以支持同一节点同一毫秒生 阅读全文
posted @ 2019-08-02 13:32 _Eternity味道 阅读(7299) 评论(0) 推荐(0) 编辑
摘要:Centos7.6系统 已经安装lnmp一键环境 想装个apache跑php7, apache安装在这 https://www.cnblogs.com/lz0925/p/11227063.html 要求已经安装gcc,没有的看这:yum install gcc c++ /usr/local/src 阅读全文
posted @ 2019-07-22 17:19 _Eternity味道 阅读(818) 评论(0) 推荐(0) 编辑
摘要:php设计的理念及特点 本文以PHP7为例子 PHP 被设计为一种适用于web开发的动态脚本语言,同时具有解释型和弱类型,底层完全由C语言实现。 解释型即程序边运行边解释,一行一行运行。 弱类型即变量类型一开始并不是确定的,可能在运行过程中发生隐式或显式转换,这是php的底层的zval结构体决定的, 阅读全文
posted @ 2019-07-02 18:55 _Eternity味道 阅读(421) 评论(0) 推荐(0) 编辑
摘要:结构体和联合体 struct(结构体) 和 union(联合体) 结构体是8字节对齐,不够8字节的部分则空出来; 联合体共用一个8字节,共享这8字节的内存,后使用的会覆盖先使用的 结构体和联合体在形式上是相似的 宏 宏 在C语言可以理解为替换,类似PHP中的常量 大小端 根据机器的不同,大小端会有区 阅读全文
posted @ 2019-07-02 11:58 _Eternity味道 阅读(218) 评论(0) 推荐(0) 编辑
摘要:php7 宣称速度比php5.6快两倍,宣称要打破一切旧规则 2015年,php 7.0发布 2016年,php 7.1发布 2017年,php 7.2发布 2018年,php 7.3发布 2019年,php 7.4即将发布 并且php8已经在讨论中,并已确定支持JIT,应该会在2020年发布 各版 阅读全文
posted @ 2019-06-26 11:47 _Eternity味道 阅读(2305) 评论(0) 推荐(0) 编辑
摘要:vi /etc/init.d/php fpm ! /bin/sh Comments to support chkconfig on CentOS chkconfig: 2345 65 37 set e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/u 阅读全文
posted @ 2019-06-17 14:19 _Eternity味道 阅读(5368) 评论(0) 推荐(0) 编辑
摘要:文章的主要部分是一步一步的教程,文章的最后是我整理好的一键安装命令,自动下载并安装docker,构建镜像,启动容器集群(压缩包内注释覆盖范围达到80%) 大家可以看完教程亲自尝试下,也可以直接执行一键安装命令,整个过程大概10分钟左右,我在四台不同的机器上执行过该命令,由于网络原因,5-15分钟不等 阅读全文
posted @ 2019-06-06 16:24 _Eternity味道 阅读(24894) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示