
php
文章平均质量分 60
阿飞 Jeff
某一个时候,体会到好好学习,天天向上不只是说说而已。
某一个时候,体会到以人为本,是多么重要而且是需要终身去贯彻。
我想,我的人生应该是这样的:工作技能活学活用于生活、生活更好的服务工作。
展开
-
Cannot make non static method static in class
错误信息中文意思:无法使类中的非静态方法getAttributeValue静态化本地代码instDao类,继承Model,Model内找不到getAttributeValue()原创 2022-08-18 17:48:42 · 426 阅读 · 0 评论 -
html中的meta标签在运行网页后跑到body里问题记录
项目场景:调试编码问题时遇到html中的meta标签在运行网页后跑到body里问题问题描述:html代码页面运行结果原因分析:在确认是使用到的文件都是编码UTF-8 格式不带BOM后,逐渐去掉代码最后发现是控制器中有直接输出中文编码到页面导致的...原创 2021-10-27 10:55:20 · 452 阅读 · 0 评论 -
laravel7使用redis报错Error while reading line from the server / invalid bulk length
问题描述:代码是从另一个php项目拷贝过来了,都是用redis简单存储kv。本地报错有点懵逼,网上找了一下原因,大致是连接数过多,导致连接不上服务器,设置read_write_timeout=-1,重启服务等。试了没毛的用。。use Illuminate\Support\Facades\Redis;...Redis::exists('proc:' . $relationId);Redis::setex('proc:' . $v['id'], 10, 1);$sendTimeList = Re原创 2021-06-25 14:41:29 · 1274 阅读 · 1 评论 -
PHP代码的整洁之道
介绍本文参考自 Robert C. Martin的Clean Code 书中的软件工程师的原则 ,适用于PHP。 这不是风格指南。 这是一个关于开发可读、可复用并且可重构的PHP软件指南。并不是这里所有的原则都得遵循,甚至很少的能被普遍接受。 这些虽然只是指导,但是都是Clean Code作者多年总结出来的。本文受到 clean-code-javascript 的启发虽然很多开发者还在使用PHP5,但是本文中的大部分示例的运行环境需要PHP 7.1+。阅读过程中如果遇到各种链接失效、内容老旧、术语原创 2021-06-01 16:29:14 · 263 阅读 · 2 评论 -
larave下载文件
解决方案:方法1. response()->make$filename = basename(request('url'));$content = file_get_contents(request('url'));return response()->make($content, 200, [ 'Content-Type' => 'application/octet-stream', 'Content-Disposition'原创 2021-05-27 14:04:11 · 349 阅读 · 0 评论 -
centos6/7/8通过yum/源码编译/docker/VirtualBox安装php5/7/8
centos常见软件安装卸载命令原创 2021-01-24 23:39:41 · 199 阅读 · 0 评论 -
大话日常活动的高并发架构
前言高并发经常会发生在有大活跃用户量,用户高聚集的业务场景中,如:秒杀活动,定时领取红包等。为了让业务可以流畅的运行并且给用户一个好的交互体验,我们需要根据业务场景预估达到的并发量等因素,来设计适合自己业务场景的高并发处理方案。在电商相关产品开发的这些年,我有幸遇到了并发下的各种坑,这一路摸爬滚打过来有着不少的血泪史,这里做的总结,作为自己的归档记录,同时分享给大家。服务器架构业务从发展的初期到逐渐成熟,服务器架构也是从相对单一到集群,再到分布式服务。一个可以支持高并发的服务少不了好的服务器架构原创 2021-01-05 23:33:04 · 239 阅读 · 0 评论 -
PHP 依赖管理/包管理工具Composer超简单使用介绍
【PHP】包管理工具Composer原创 2021-01-04 21:53:18 · 1133 阅读 · 0 评论 -
PHP4/5/6/7/8版本介绍
1原创 2021-01-03 17:12:20 · 2166 阅读 · 0 评论 -
php必不可少的开发工具CodeSniffer代码规范phpcs检测及phpcbf修复工具
1原创 2020-12-23 13:55:53 · 592 阅读 · 0 评论 -
FastCGI sent in stderr: “PHP message: PHP Catchable fatal error: Argument 1 passed to must be an in
问题描述:php调用thrift接口报错[error] 14178#14178: *1298868 FastCGI sent in stderr: "PHP message: PHP Catchable fatal error: Argument 1 passed to MonitorOsView\AgentMetricServiceClient::SearchLog() must be an instance of MonitorOsView\BasicSearchLog, array given原创 2020-12-09 17:47:21 · 1218 阅读 · 1 评论 -
php变量作用域笔记
变量的作用域是脚本中变量可被引用/使用的部分。PHP 有四种不同的变量作用域:local(局部)global(全局)static (静态)parameter(参数)1、定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。2、函数内定义的变量就是局部变量,它的作用域为函数定义范围内。3、函数之间存在作用域互不影响。4、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组,index是变量名函数之外声明的变量拥有 Global 作用域,只能原创 2020-11-24 10:30:45 · 152 阅读 · 0 评论 -
命令行跟website模式下访问php小坑
今天在开发环境下碰到一个问题:命令行执行脚本出现PHP Fatal error: Class ‘Yaf_Application’ not found,但是通过website访问是正常的。我本地命令行跟website一点问题也没有,最后发现是命令行跟website模式下使用的php版本不同导致的。算是个小坑,记一笔。本地、开发环境都是centos在开发环境命令行执行php -v的版本是5.6,但是通过website访问使用phpinfo查看版本是5.4。yum list installed | gr原创 2020-11-24 10:30:31 · 151 阅读 · 0 评论 -
php接口interface笔记
接口是什么?接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。接口的思想是指定一个实现了该接口的类必须实现该接口的所有方法,方法里具体内容由实现接口的类决定。在PHP中,可以通过接口解决多重继承的问题,类似于Java的接口实现。为什么要用接口?接口到底有什么好处?接口本身并不提供实现,只是提供一个规范。如果我们知道一个类实现了某个接口,那么就知道了可以调用该接口的那些方法,我们只需要知道这些就够了。什么时候用接口?1、定规范,保持统一性;原创 2020-11-24 10:30:04 · 138 阅读 · 0 评论 -
php迭代器Iterator&&yield
前段时间开发的时候碰到返回Iterator数据,使用var_dump打印数据class MongoDB\Model\CollectionInfoCommandIterator#27 (0) {}一时没搞明白是什么原因,最后才发现是Iterator隐藏了数据。现在记录一下Iterator原理迭代器是一种设计模式,提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部显示PHP5开始支持了接口, 并且内置了Iterator接口, 所以如果你定义了一个类,并实现了Iterator接口,那么原创 2020-11-24 10:29:46 · 566 阅读 · 0 评论 -
高效率的 PHP 优化写法笔记
1 字符串1.1 少用正则表达式能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率高于正则,正则比较耗性能。str_replace函数要比preg_replace快得多,strtr函数又比str_replace来得快。1.2 字符替换str_replace字符替换比正则替换preg_replace快,但strtr比str_replace又快。1.3 压缩大的字符串使用 gzcompress() 和 gzuncompress() 对容量大的字符串进行压缩和解压,再存原创 2020-11-24 10:29:07 · 288 阅读 · 0 评论 -
php:一次完整的HTTP请求过程笔记
HTTP 事务执行过程1.客户端(浏览器)做出请求操作(输入网址、点击链接、提交表单)2.客户端检测缓存1)有缓存且较新,客户端直接读取本地缓存进行资源展示2)有缓存但是不新,准备http请求包,发送至服务端进行缓存校验3.客户端对域名进行解析,向设定的 DNS 服务器请求 IP 地址。1)DNS 全称是 Domain Name System,译为域名系统。它可以将域名和 IP地址互相映射,能够让用户使用域名就可以访问互联网服务。4.客户端根据 DNS 服务器返回 IP 地址采用三次握手与服务原创 2020-11-23 16:04:03 · 2716 阅读 · 1 评论 -
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 85 bytes)
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 85 bytes)PHP5中,对于memory_limit的设定已经从以往的8M扩大到128M的上限。对于配置中的定义解释是: memory_limit = 128M;Maximum amount of memory a script may consume (128MB) 最大单线程的独立内存使用量。也就是一个web请求,给予线原创 2020-11-23 15:58:41 · 2293 阅读 · 0 评论 -
撸代码之经验所得
不要毫无计划地写代码,思考、调研、计划、编码、测试、修改,一个都不能少;不要写代码前过度计划,在一头钻进代码前做点计划是好事,但是即便是好事,也可能物极必反。请勿低估代码质量的重要性,如果你只能够关注你所写的代码的一个方面,那么肯定是可读性。使用实现功能的最简单方案,作为专业的程序员,你的职责不是找出问题的一个解决方案,而是找出问题的最简单的解决方案;适时放弃,当你开始怀疑一个解决方案的时候,你就应该考虑抛弃它,并且重新思考这个问题。不管你已经在这个解决方案中投入了多少精力。像 ..原创 2020-11-23 15:57:58 · 1711 阅读 · 0 评论 -
php大整数相加、减
大整数相加function plus($a, KaTeX parse error: Expected '}', got 'EOF' at end of input: …if (!is_string(a) || !is_string($b)) {echo ‘参数必须是字符串类型’;return;}len=strlen(len = strlen(len=strlen(a) > strlen(b)?strlen(b) ? strlen(b)?strlen(a) : strlen($b);///原创 2020-11-23 15:55:36 · 554 阅读 · 0 评论 -
web服务器选apache还是nginx?
Apache音译为阿帕奇,是Apache软件基金会的一个开放源码Web服务器,可以运行几乎所有的计算机平台,其次开放的API接口,任何组织和个人都可以在它上面扩展和增加各种需要功能,达到为自己量身定制的功能。再次是因为老,所有相关文档很齐全,甚至在windows平台很多爱好者都为它开发了各种图形界面,连菜鸟也能入手Apache。因此前期它迅速占领了70%的web服务器市场。NginxNginx (“engine x”) 是一个高性能的 HTTP 和 反向代理服务器,也是一个 IMAP/POP3/S原创 2020-11-23 15:54:37 · 1695 阅读 · 0 评论 -
phpstorm常用快捷键及技巧笔记
PHPStorm 就是一神器,下面是日常的一些快捷键,掌握了开发起来就更顺手了。CTRL+单击 # 定位到类、函数、变量的声明位置(同:CTRL+B)CTRL+/ # 行注释CTRL+F # 在当前文件中查找字符串Ctrl+R # 当前文件替换用CTRL+G # 转到行CTRL+D # 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面Ctrl+Y # 删除光标所原创 2020-11-23 15:52:21 · 332 阅读 · 0 评论