
后端PHP开发
文章平均质量分 90
后端PHP开发,包括PHP中常用的各种框架,Thinkphp/Laravel/Codeigniter/Yii等等
林戈的IT生涯
我是林戈!IT技术领域深耕10年+;北京多家名厂闯荡5年+;清华大学硕士;坐标山东从事IT研发和管理工作。之前一直在阿里云运营独立站,2015年起自创技术框架及博客并运营约10年,累计发文1300+篇,2024年3月域名被收购后历经半年多完成将所有博客文章手动迁移至优快云。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Php8.X的版本中安装Sphinx扩展支持的记录
Php技术现在感觉越来越没落了,我也很久没有再接触使用过PHP,今天有一个很多年前的项目发现在使用 sphinx ,而最新的升级后发现新的 php8版本的docker 容器镜像中没有安装 sphinx 扩展,导致搜索功能不可用,个人又总是看不惯问题的存在,就想着把它解决。但解决一些麻烦问题的过程总是一波三折,今天把这个放在这里做个记录,同时也希望为一些会碰到相同问题的朋友提供一点帮助。原创 2024-12-17 13:33:24 · 999 阅读 · 0 评论 -
在一个原生PHP项目中引入 composer 以支持微信支付调用以及本地curl配置https证书支持
因为业务需要实现微信支付,但看了一下现在的微信支付文档,都是基本 composer 进行加载,除了要加载 wechatpay 外,还需要加载 guzzlehttp,因此还是考虑在原生 的PHP 项目中引入 composer 来加载比较方便。先安装 composer 软件,并且最好更换成国内的镜像。我电脑上之前已经有了 composer ,这步也就省略了。首先,在项目的根目录或者你指定的目录中编辑文件 composer.json。原创 2024-12-18 08:00:00 · 867 阅读 · 0 评论 -
PHP项目从 php5.3 版本升级到 php8.3 版本时的一些问题和解决方法记录
一个原来的项目,因为业务需要,进行了PHP版本升级,从php5.3直接升级到php8.3。变化挺大的,原程序中有很多不再兼容,在此处进行一下记录。原创 2024-12-14 10:21:57 · 1543 阅读 · 0 评论 -
整理保存一下我原来用来面试 PHP程序员 的一些问题
二、因为也经常要面试PHP程序员,所以简单整理了一些题目,这边的PHP面试一般也不会采用笔试啊、一面二面之类的,一般就是面对面的聊聊问问而已,不过我觉得基本聊聊也就知道面试的人的大概水平了,水平高一点的PHP:肯定有了一定的接触知识面和深度,下面是一些可以参考的问一些。1.有些水平的PHP程序员的面试问题:A,linux定时运行命令 contrab (分时日月周的排序)---接触多肯定会接触,还有nohup。原创 2024-04-03 06:33:12 · 544 阅读 · 4 评论 -
服务器登录gmail提取附件报错Can‘t connect to imap.gmail.com 993解决、Maximum function nesting level of 256、awk问题解决
当然前提是我已经在gmail里设置了应用密码,开启了IMAP功能,通过这两天的调用摸索,我初步怀疑是gmail对调用的频率有控制,早上来公司后调用一次成功,但接着调用就出现上面的错误,隔了一段长时间后再调用又能成功一次。如果真的是频率的问题,那gmail这样的提示也太恶心了吧。调用就一直返回上面的错误。另外还有一个问题我一直还没有找到解决办法,就是对于多带了一个/斜线的错误网址,想在nginx层使用rewrite规则去掉一个斜线,但试过多次就是没有成功,要是有朋友看到这个问题有解决方法,欢迎帮助哈。原创 2024-09-23 13:00:00 · 1196 阅读 · 0 评论 -
推荐Composer上好用的PHP-beanstalk操作库pda/pheanstalk、推荐php加解密composer库hashids/hashids及使用IMAP登录google邮箱下载邮件等
在PHP中需要操作beanstalk消息队列,当然可以去网上找一些类库包含进文件,不过使用Composer是一种比较推荐的方式,在compoer.json中添加pda/pheanstalk,后面根据需要添加版本号v3.2.1要求PHP5.5+,V4.0+要求PHP7.1+版本号。原创 2024-09-23 07:00:00 · 2141 阅读 · 0 评论 -
docker中php容器默认不会追写php的慢日志问题及Linux capabilities及docker中PHP配置项php_value、php_flag等的区别
在Linux系统中,PHP-FPM使用SYS_PTRACE跟踪worker进程,SYS_PTRACE是什么?设置指定的值. 只适合于 PHP_INI_ALL 和 PHP_INI_PERDIR 类型指令. 清除之前设置的值使用 none 标记. Note: 不要使用 php_value 设定布尔值和php_flag (见下文) .docker中添加PHP配置项的方法有不少,php_value、php_flag、php_admin_value、php_admin_flag,如下是一个加载的php配置文件示例。原创 2024-09-21 13:00:00 · 1099 阅读 · 0 评论 -
docker中的php定时任务用法、不重启容器平滑加载nginx实现、搭建的nginx+php中php不解析执行问题及nginx服务器上出现400错误的原因
我这边报400的请求是文件上传接口的问题,我初步估计是请求头过大的原因。先根据client_header_buffer_size配置的值分配一个buffer,如果分配的buffer无法容纳 request_line/request_header,那么就会再次根据large_client_header_buffers配置的参数分配large_buffer,如果large_buffer还是无法容纳,那么就会返回414(处理request_line)/400(处理request_header)错误。原创 2024-09-19 07:00:00 · 963 阅读 · 0 评论 -
登录功能异常页面只响应Connection closed字符内容的问题排查以及php7.1使用php.ini中配置redis作session处理报错 session_start...
重启后,看到TIME_WAIT的连接数很快就降下来了,但是发现前面的接口请求并没有多少效果,这样看来虽然TIME_WAIT的连接数确实有异常,但这个错误看起来不是这里导致的,可能是某个错误导致的这个现象。在讨论TIME_WAIT优化时,应该关注的是主动连接,即Nginx对Web服务器的连接。网上有不少说到这个问题,基本是php7之后的phpredis未支持上说的改变,phpredis也在修复,目前出问题的版本是在phpredis3.1.0以及其下版本,在phpredis3.1.1中进行了修复。原创 2024-09-12 13:30:54 · 1313 阅读 · 0 评论 -
Php数组函数中的那些什么sort排序函数是不是很乱? 可以这样看。以及php搜索给定的值在数组中最后一次出现的位置的实现思考
php的数组函数很多,功能也很强大,但如果要想实现搜索给定的值在数组中最后一次出现的位置,Php数组中可真是没有这样的函数。例如要在$array数组中查找789值(不区分类型),可以使用什么方法呢?最low的当然可以使用循环,循环之后最后一次赋值即获取到了最后一个KEY。php#给定一个变量#给定待查询的数组#使用循环的方法但我们要熟练使Php、深入使用Php,一定要更多的利用php已有的方法和功能,不然即便编程多年,也会觉得自己懂得很肤浅。原创 2024-09-10 13:20:29 · 1094 阅读 · 0 评论 -
配置PHP的Session存储到Mysql / Redis / memcache 以及使用opcache以及apc缓存清除工具cachetool区分php版本-否则可能无效的问题解决
CacheTool 4.x适用于PHP >=7.1的环境,CacheTool 3.x适用于PHP >=5.5.9的环境,我使用的http://gordalina.github.io/cachetool/downloads/cachetool.phar是最新版的4.X,而我本面的PHP环境是PHP 5.6.15,即我下载的CacheTool 4.x不能用于我现在的PHP 5.6.15无法运行,但是CacheTool你好歹也报个版本问题的错误出来啊。#所使用的memcached服务器信息。原创 2024-09-08 07:00:00 · 1012 阅读 · 0 评论 -
php提取数组某列并可以某列作为索引的array_column、指定函数过滤以及过滤空值array_filter以及数组处理函数array_map和array_walk/array_walk...
通过上面对array_map和array_walk的使用,综合起来对比区别如下:A,array_walk主要是针对单个数组进行处理,array_map可以处理单个,也可以把多个数组结合一起处理。B,array_map的作用更多的是得到一个新数组,array_walk更多的是想做一些job, 只要结果执行成功了即行。C,对单个数组进行操作时,array_map和array_walk功能很像,区别在于array_map是取得返回的数组;原创 2024-09-01 07:00:00 · 2103 阅读 · 0 评论 -
小巧PHP框架cola的运行加载过程分析以及php不用循环能不能创建一个长度为100的1-100数组的尝试
除此之处,这个处理文件不一定是类,也可以是方法,因为下面的逻辑可以看到call_user_func可以执行不只有数组参数,还可以直接传入一个方法来处理。今天在写一个小例子的时候,觉得写一个循环创建一个1-100的数组很OUT,但突然一想,php里不用循环怎么创建一个长度为100的1-100数组?但和python中的使用有一点不一样,php必须至少要传入2个参数,即start和limit必须传入,而python可以只传一个参数,比如传一个大于1的整数,此时即代表取从0至这个参数间的所有整数组成的数组。原创 2024-08-30 07:00:00 · 881 阅读 · 0 评论 -
composer常用命令列表和实践使用、服务器lnmp环境自动化部署脚本及netstat命令常用选项笔记-及state各值的意义
以前公司运维用来自动化服务器lnmp环境的shell脚本,这里没有mysql的,可能是我以前剪切掉了,mysql的部署也有过一篇文章,不记得是哪篇,如有需要,请在博客中进行搜索, 整个里面的路径自己去完善一下,因为公司内用的是内网的资源路径,写在这里也没有用。要获取依赖的最新版本,并且升级composer.lock 文件,使用composer update命令,这时会忽略已存在的composer.lock文件,直接读取composer.json下载最新的符合条件的依赖,并更新composer.lock.原创 2024-08-26 13:00:00 · 1157 阅读 · 0 评论 -
nginx响应504的超时问题及php的慢日志事宜以及php中测试使用beanstalk消息队列的所有可用方法
说明:slowlog = var/log/$pool.slow.log这项直接写成绝对地址更好,我开始用的log/$pool.slow.log这个文件地址,发现PHP在加载的时候去加载PHP安装目录下这个目录,而不是自动去加载var/log/这个目录,而因为安装目录下不存在log目录,导致php重启失败。注:上方的配置中有一个$pool,这个是利用了此配置文件中配置的pool name:,文件名称自动成为www.slow.log。重启PHP后即可在var/log/目录下发现www.slow.log。原创 2024-08-15 13:00:00 · 697 阅读 · 0 评论 -
php连接sphinx的长连接事宜以及sphinx的排除查询以及关于sphinx里使用SetSelect进行复杂的条件过滤或复杂查询
在一台WEB上打开长连接,同时观察着sphinx的连接数据(我这里中间有haproxy作为中转),如果这个长连接能实现php与searchd的长连接,那么改了一台服务器后,因为线上一直有请求,则我的WEB上所有的PHP-FPM进程就应该都能保持一个与sphinx的连接(单台WEB上是60个php进程,理论上应该proxy上的sphinx请求能增加到60左右),而如果真是在php请求结束后就断开sphinx,则不会对proxy上的数据有任何影响。写sphinx的复杂查询就相当于写mysql的where条件。原创 2024-08-15 07:00:00 · 1183 阅读 · 0 评论 -
关于redis中的发布与订阅以及shell脚本与php之间的相互传值及将php-fpm配置成init.d/service服务-ldd命令检查软件依赖-vim里paste模式防止出现粘贴问题
redis的发布订阅是一个很方便的消息队列功能,用过rabbmitmq或者beanstalk的话就对这不陌生了。消息队列就是一边往队列里写东西,每次写入消息后另一方立马就感知到了消息并且去处理消息。比起beanstalk目前我觉得redis的消息队列缺少了一个任务放回策略。不过对于消息队列一般的功能也够用了 publish:November 3, 2017 -Friday。也可以直接在redis命令行下操作:返回的0和1表示有几个终端接收到了消息。原创 2024-08-14 07:00:00 · 809 阅读 · 0 评论 -
开发中遇到的gzuncompress,DomDocument等几个小问题以及一次Php上线碰到的502问题及php异常追踪
1,昨天在命令行模式行运行一个很复杂的程序,一开始执行php,刚刚连接数据库,都没怎么查几条记录,(publish:October 27, 2017 -Friday) 就报错:一开始看到这报错,还真是一头雾水,因为我这个程序正常运行出现内存溢出是完全可能的,因为会进行百万级的数据库查询,并且要生成几百M的数据文件出来,但目前我只是在调试程序,暂时还不应该出现这种报错啊。然后再一看不对啊,报错提示允许内存128M,我这才申请多大点内存,怎么报错呢。原创 2024-08-06 07:00:00 · 762 阅读 · 0 评论 -
php生成xml文件的封装类文件-可生成带缩进格式化的xml文件及关于opcache缓存的操作小工具cachetool的使用
可以方便的使用命令行清除opcache的缓存。有一个需求,生成的xml文件格式需要格式化好,xml文件在浏览器里看到的样子,一行一行内容,并且不同级别间有内容的缩进控制。封装的类文件及试验类的下载地址 php生成缩进格式的xml文件的封装类及测试 见本博客中的资源搜索。但是opcache_reset()是php中的函数,需要在php脚本中执行,另外当PHP以PHP-FPM的方式运行的时候,opcache的缓存是无法通过php命令进行清除的,只能通过http或cgi到php-fpm进程的方式来清除缓存。原创 2024-08-04 07:00:00 · 1019 阅读 · 1 评论 -
shell获取敏感词接口json数据更新时重启nginx+lua环境、一个逐步删除服务器上文件夹的shell脚本及中英文及外文字符串的切割编码问题
因为当前平台是nginx+lua脚本,重装加载敏感词需要重启nginx.实现起来也很简单,第一点,需要对获取的json数据进行分析,shell里有一个处理json的利器 (publish:August 11, 2017 -Friday),jq 下载地址:https://stedolan.github.io/jq/download/脚本如下,每12分钟执行一次清理,一次清理10个图片文件夹,约删除13000张图片,经观察,在执行一次之后服务器的的负载会增加1.0左右。有篇相关文章,作者也是费心了。原创 2024-08-02 13:00:00 · 1054 阅读 · 0 评论 -
关于php-fpm中的两项参数emergency_restart_threshold/interval及重启php-fpm时请求发生502错误解决:process_control_timeout
php-fpm默认安装后以下三个参数都是关闭的:#表示在emergency_restart_interval所设值内出现SIGSEGV或者SIGBUS错误的php-cgi进程数如果#超过emergency_restart_threshold个php-fpm就会优雅重启。这两个选项一般保持默认值。#设置子进程接受主进程复用信号的超时时间. 可用单位: s(秒), m(分), h(小时), 或者 d(天) 默认单位: s(秒). 默认值: 0.原创 2024-07-31 13:00:00 · 1067 阅读 · 0 评论 -
[php7系列]--php7里的返回类型声明和标量类型声明及不要用isset判断数组是否定义某个KEY-最好使用array_key_exists
(publish:June 16, 2017 -Friday) 之前没有碰到这个小问题,习惯了判断数组中有没有某个键值时,总是用isset($array[$key]).但今天在测试一个项目时发现这个判断离奇地不起作用了。就是这么一句简单的代码,作用是避免将这个字段抛到接口层。后来发现这个数据从数据库里取出来,其值为null;其实我非常讨厌null这个东西,因为总会有奇怪的事情发生。但是后端内容控制后台是别的同事开发,我也提过null这个东西,但人家就那样。得了吧,我们就前端控制。原创 2024-07-29 13:00:00 · 769 阅读 · 0 评论 -
php在cli模式下取得命令行中的参数的方法-getopt命令行可传递数组-简单自定义方法取命令行参数及
真心觉得longopts一样也是一个麻烦的东西,真不知道getopt有什么卖点,既然$argv能取到值那么在PHP里使用一个方法一下子就得到键值不就行了。php});然后在命令行中执行:显示如下,这样是不是更简洁明了?原创 2024-07-27 13:00:00 · 888 阅读 · 0 评论 -
一个基于php7快速/精简/高效api程序开发框架apiframe-php7-framework及简单控制台程序下载 以及 5万条笑话数据库sql打包下载
一个基于php7快速 / 精简 / 高效 api程序开发框架apiframe-php7-framework,这是我几年前常用来开发服务端API接口程序的自用PHP框架,非常精简、高效、可扩展。程序目录非常简洁,如下图所示:基本的MVCS层结构,加上composer vendor程序扩展、depoly部署、后台job等等,所有后端API相关的元素都有计划考虑,拿来直接用即可。对于一些要加载的第三方程序库,本框架也支持使用composer进行加载安装。原创 2024-07-26 13:00:00 · 1160 阅读 · 0 评论 -
PHP中redis的hgetall方法匪夷所思的BUG、php5.5里几个有用的特性-foreach支持list,取类名直接用::class,非变量字符和数组直接取下标及nginx状态码意义大全列表
这个方法之前在测试环境中使用时一切安好,但放上线上后发现经常502,因为只是一个调试模块,不影响线上业务,也没去认真研究。今天想想真是奇怪,就准备拿来研究一下,这篇文章肯定不可能把这个问题说全,因为涉及的其它地方太多我也没办法贴出来,贴点代码吧,算是为这个匪夷所思的问题立个碑。原创 2024-07-25 13:00:00 · 854 阅读 · 2 评论 -
xhprof安装了graphviz还报错failed to execute cmd “ dot -Tpng“ 及 beanstalk命令行下操作示例-命令下行如何put数据进tube
使用XHProf我们肯定需要查看它强大的图形统计结果分析图,而xhprof是用dot进行绘图的,在xhprof程序安装包中xhprof_lib/utils/callgraph_utils.php文件中可看到方法function xhprof_generate_image_by_dot()中有接头这个CMD命令。Dot是什么?dot是一个适合程序员使用的绘图工具。让你可以用几行代码就能绘制出一些流程图出来。dot本身是Graphviz工具包中的一个工具。原创 2024-07-24 13:00:00 · 901 阅读 · 2 评论 -
服务器架设Lnmp环境完整shell命令-安装php时报libiconv.so.2: cannot open..问题及关于PHP_EOL和DIRECTORY_SEPARATOR
publish:March 31, 2017 -Friday 最近安装一套服务器,用的命令在此做个记录,nginx最新版1.11,mysql用的5.7,php使用的是php7.1。比较重要的是php的configure参数,这个参数如果缺少些东西,后续安装扩展的时候会遇到一些麻烦。另外底层的环境支持安装也很重要,不然在安装一些软件的时候总是报什么pcre,libconv等库的问题。不如一次全部装上省心。写在此做个记录保存。原创 2024-07-22 07:00:00 · 719 阅读 · 0 评论 -
[php7系列]-当年会议特性介绍-use批量导入命名空间/foreach指针移动问题/define定义数组常量/new class实例化匿名类等
define可定义数组常量,php7里define可以定义Array类型的常量。在PHP5.6里可通过 const 定义。// 输出 "cat"原创 2024-07-19 07:00:00 · 1036 阅读 · 0 评论 -
服务端在执行时中途关闭浏览器退出之后php还会继续执行吗?个人实践实验得到结果
ignore_user_abort 的功能是设置客户端断开连接时是否中断脚本的执行,默认参数是false,即不忽略客户端的中断,于是上面我们在执行时因为flush()发现客户端中断,而ignore_user_abort 使用默认值不忽略,从而程序中断结束。上面的程序在执行期间依然中途关闭浏览器,我们会发现PHP页面只执行到flush这句,而后面的写文本内容没有再执行,说明flush()这句做了服务端与客户端的交互,而服务端在flush()的执行中发现客户端连接已中断,从而中止了执行。并得到了不一样的结论!原创 2024-07-17 07:00:00 · 2290 阅读 · 0 评论 -
php里比gd效率更高功能更强的扩展imagick 及 php命令行cli下执行时显示不了php.ini中加载的扩展
一般PHP使用GD库就足以应对各种图像处理了,但如果业务主要的功能是处理图像的话,就不建议使用GD,,本方主要是写的imagick扩展,实际现在也有很多其它的扩展,看着评价都不错,比如Grafika以及opencv,Grafika看介绍说是一个基于Imagick和GD,可以用于改变图片大小,剪裁,比较,添加水印等等功能。还有感知哈希,高级图像过滤,绘制贝塞尔曲线等功能,可谓非常强大。但基于Imagick和GD为什么会更强大呢?我想也许只是功能更多,效率更高应该谈不上吧。原创 2024-07-13 07:00:00 · 1025 阅读 · 1 评论 -
php索引数组unset操作会将数组转为关联数组问题、array_diff差集比较报错string conversion 及 php读取文本文件的常用4种方式方法的比较
PHP在对客户端进行接口开发时,因为android等移动端需求接口是索引数组,而不能是关联数组,所以在PHP端一般都会对数组进行array_values处理。以转化成索引数组再json_encode输出。在数组的处理过程可能有时会涉及到unset操作,而unset操作对索引数组会有影响。下图为输出结果:从结果中可以看到,如果是连续去除数组后面的元素(不能间隔去除),则仍是索引数组,正如second那部分,如果是去除前面的部分或者在中间去除某几个元素,就会导致数组变成关联数组。在向客户端输出数据时要注意。原创 2024-07-10 07:00:00 · 770 阅读 · 2 评论 -
Linux下coreseek索引(sphinx)建立及搜索的测试 及 linux下php安装sphinx扩展的过程及常见错误
安装好coreseek之后接下来的操作非不复杂,唯一一个麻烦一点的就是配置文件,我这里使用的是mysql数据源。通过网站之间的链接抓取全网域名的php程序)。我的数据表相对简单,字段也不多,表中共有200万条记录,用时100秒,速度还好,毕竟这是全量索引。coreseek自带一个测试端,bin目录下的search脚本。搜索结果中显示了共有多少条记录,本次搜索花费了多少时间。从上面可以看到共计用了0.002秒,而200万条记录,如果通过mysql的模糊查询至少得几秒钟。原创 2024-07-09 07:00:00 · 331 阅读 · 2 评论 -
php程序中使用rabbitmq消息队列的简单示例 及 rabbitmq队列所有php可用命令
写的时候是写到交换机的,此时实际根本不是队列,你可以把交换机理解为rabbitmq里放消息的一个集合,写入的时候会把消息全部写到各个集合中。这就是路由起的作用,于是读取端时可以读取一个交换机里的内容,也可以读取一个交换机里指定路由的内容。完全可以让其扁平化,就一层队列,那样一个交换机就是一个队列了。rabbitmq自带了方便的命令行工具:rabbitmqctl,如本机的rabbitmqctl的安装路径在:/opt/modules/rabbitmq/sbin/rabbitmqctl list_queues。原创 2024-07-08 07:00:00 · 1766 阅读 · 1 评论 -
凡客vancl商城商品分类-产品搜索-产品详情-评论的抓取程序 以及 python使用urllib2组件抓取网页的报错urllib2.HTTPError处理/MySQL管理用户常用命令
以前 (publish:July 20, 2016 -Wednesday) 对凡客电商网站http://www.vancl.com/的商品分类,产品搜索,产品详情以及产品评论的抓取程序(PHP开发)。好久没用,再测了一下除了评论的不显示之外,其它的还能正常抓取,我也没时间再去检查评论的异常了。估计也不是大问题。拿去简单修改下应该就可以。原创 2024-07-01 07:00:00 · 1080 阅读 · 1 评论 -
VisualAMP中启动MongoDB提示服务名无效、php使用id查询mongodb查询不到数据 及 python连接Mongodb进行数据插入性能测试
本机是windows7 64位,用的VisualAMP X64,自带MongoDB,在VisualAMP中直接启动MongoDB失败,提示:服务名无效。请键入 NET HELPMSG 2185 以获得更多的帮助。没有其它的多余信息,进入MongDB的bin目录运行Mongod.exe提示,MongoDB已停止工作,也未找出原因。尝试了如下一些命令也未成功。解压出来后,直接进BIN目录运行mongod.exe成功了。但目前仍不清楚VisualAMP自带的MongoDB为什么提示服务名无效。原创 2024-06-30 07:00:00 · 781 阅读 · 1 评论 -
关于keframe框架、keframe框架源代码及 个人博客网站模板、框架源代码下载
特别是百度内部使用的ODP框架,我特别欣赏它的日志功能,当然还有其它很多很多功能有待挖掘,二是我写这个框架是为了给我部门写一个辅助性的平台产品(自发的),想使用自己的框架,故希望将我这原来的框架进行升级。为我的坚持做个标记!这几天将这个网站所使用的框架升级重写为2.0框架了,重申一下,这个站是用自己写的小框架开发的,只是为了实践我的这个框架而已,毕竟写个框架没有网站使用,没法知道它是否能正常运行呢,所以才有了这个小站,我希望今后的某一天我能有自己的产品,并且是使用了自己的框架的产品,所以我会一直前行。原创 2024-06-29 07:00:00 · 1180 阅读 · 2 评论 -
压力测试工具http_load的使用以及参数说明报告解释 及 关于XHProf性能测试工具的更多内容
http_load是linux平台上的一种压力测试工具。可用来测试web服务器的吞吐量与负载。http_load基于命令行,简单、小巧(压缩后只有不到20K),开源,免费。原创 2024-06-28 07:00:00 · 1413 阅读 · 1 评论 -
关于nginx.conf里的fastcgi_cache配置及如何删除fastcgi缓存 及 nginx开启fastcgi缓存时请求php出现页面内容为空问题的原因
从0.7.48版本开始,Nginx支持类似Squid的缓存功能。这个缓存是把URL及相关组合当做Key(可在nginx配置文件中配置),用Md5算法对Key进行哈希,最后将内容以文本格式得到硬盘上对应的哈希目录路径,从而将缓存内容保存在该目录内。这对一些采用静态页面缓存的新闻网站非常适合,不需要任何代码开发,直接生成缓存。原创 2024-06-25 07:00:00 · 1291 阅读 · 2 评论 -
两种方法实现VIM编写代码时函数提示自动完成-vi中php开发代码自动完成功能 及 vim编辑器常用命令功能大全-可使用vimtutor练习vim各命令
Vim中本身就带有函数提示的功能的。只是默认是关闭的,所以一般不特意去看这方面的资料就不知道了。目前VIM对流行的编程语言都提供语法自动完成功能,使用起来很简单。原创 2024-06-24 07:00:00 · 888 阅读 · 2 评论 -
Symfony框架的安装使用 以及 框架运行官网示例的LuckyController::number问题
symfony框架的官网地址:https://symfony.com/download 打开时页面应该就根据我的操作系统显示到了下载的windows选项卡,和大多数框架下载的都是源代码不一样,symfony框架下载的是一个setup.exe文件,此文件300来K,symfony框架下载安装生成的是一个exe可执行文件,所有的项目都通过此可执行文件执行来生成代码。 哎,为什么要这么折腾!我之前一直比较讨压这个框架,虽然没有用过,但印象不好,但这次的项目涉及到它了,所以只好把它下载下来研究研究,不过或原创 2024-06-21 07:00:00 · 758 阅读 · 1 评论