- 博客(92)
- 资源 (1)
- 收藏
- 关注
原创 PHP中yield关键字的使用
原理:yield关键字会生成一个Generator类的对象,PHP通过Generator实例计算出下一次迭代的值,再次返回一个Generator对象并停止循环。目的就是节省内存,防止内存溢出。
2025-03-26 17:47:29
395
原创 使用wkhtml把html文档转成wkhtmltoimage、wkhtmltopdf
2.1 将 winfonts 下四个文件移入 /usr/share/fonts/ 文件夹下。# fc-list :lang=zh-cn 检查是否成功。# 1.1 wkhtmltox插件存放。1、安装wkhtmltox插件。# 1.2 设置可执行权限。
2024-06-01 19:26:55
638
原创 php跨域和https访问http问题分析
也就是在https的网站中引入了 http 的图片、css、javascript 等其他资源或文件,浏览器便会提示 “Mixed Content” 错误,这是因为http 的资源容易被恶意攻击者利用,可能会导致安全问题,浏览器认为网页不是完全安全的。
2024-04-18 17:37:52
1153
1
原创 如何将window文件夹挂载到VMware系统mnt目录
创建文件夹 E:\Linux_files ,设置共享,复制共享链接:Linux_files_2 (file://DESKTOP-1CSUB6E/Linux_files_2)注意事项:windows和Vmware必须是同一网络内(文档中的都是本机),必须正确的设置共享文件夹,windows用户名称和密码必须设置正确。Windows下打开 cmd 输入 ipconfig 查看本机IP地址。
2023-06-25 18:04:19
1451
原创 Linux下进程守护Supervisor搭建
Supervisor是在linux上的进程管理员,是一个管理工具。当进程停止的时候Supervisor能够自动启动它,可以运行在各种类unix的机器上,supervisor是使用python开发的一套通用的进程管理工具,能够把普通脚本、命令行进程变成后台的daemon,并监控状态,实现自动重启,并提供可视化管理界面。
2023-05-08 20:48:49
2917
原创 Swoole Compiler 加密PHP源代码(简版)
Swoole Compiler 加密PHP源码文件;加密技术更先进、更安全;支持 PHP5/7/8;支持 x86-64/arm64/mips CPU;
2022-07-30 18:32:44
4367
原创 MYSQL 查找JSON编码的中文字符
数据库中 是如下JSON转码后的格式:解决方法是在反斜线“\前加“\\\”三个反斜杠。查找:SELECT * FROM table_nameWHERE header_content LIKE '%SKU\\\\/\\\\u5305\\\\u88c5\\\\u8981\\\\u6c42\\\\/\\\\u4ea7\\\\u54c1\\\\u7ebf%';替换:UPDATE `pur_list_header`SET header_content=REPLACE(header_..
2022-01-15 19:33:33
892
原创 慢程序优化心得
大家遇到程序运行慢的问题,会有什么想法?会先做什么呢?这周遇到了一个程序慢的问题,是中途接手别人的程序的,整个项目我没有参与开发,后面业务反馈效率很低,要优化程序。由于不是自己的代码,遇到了一些坑,持续优化了两个礼拜都没解决问题,最终在讨论的过程中发现问题并完美解决。 第一次优化:首先是优化了部分SQL语句,该加缓存的加了缓存; 第二次优化:再把每次分批执行的数据条数增加; 第三次优化:最好使用了Swoole的协程搞并发(开发环境搞10并发速度飞...
2021-10-28 11:15:48
192
原创 PHP 中的 \n 是作为普通字符还是换行符
PHP 中的 \n 是作为普通字符还是换行符PHP 内存中:如果 \n 是单引号中则是无效的,PHP会当普通内容处理,写入文件时也是 \n 字符而不是换行符,看到的内容是 \n,\n 是占两个字节;如果 \n 是双引号中就表示换行符,有效的,写入文件时会转换成 windows/linux 的换行符,看不到\n,\n是空白符,占一个字节。PHP 从文件中读取内容到内存:如果内容是 \n 而不是换行符,则 PHP 把他当做单引号变量处理;如果是换行符,则 PHP 把他当做双引号变量处理,会把 win
2021-05-24 18:54:20
2591
原创 PHP使用正则表达式 preg_replace 替换英文单词
PHP使用正则表达式 preg_replace 替换英文单词有些业务场景中需要把 文档内容 替换成指定内容,替换英文单词就是比较常见情况之一。场景举例:需要把 class 替换成 study,但是文档中存在 classic,classify 这种相近单词等等,这时候PHP 自带的 str_replace 函数就无能为力了。本文使用正则表达式替换来实现。场景:把文中的publish 单词替换成subscribe,如果publish 单词前后有字母数字等就不替换。实现效果:...
2021-05-22 17:11:48
614
原创 基于Redis有序集合的PHP接口限流的实现
OAuth 2.0是一种协议,为用户资源的授权提供了一个安全的、开放而又简单的标准。是目前最流行的一种授权机制,主要用来颁发令牌(token),用来授权第三方应用,获取用户数据。每个发到 API 的请求,都必须带有令牌。保证了令牌既可以让第三方应用获得权限,又随时可以控制,不会危及系统安全。令牌有效期为什么要设置很短:只要知道了令牌就能进入系统,系统不会对再次确认用户身份。所以令牌必须保密,泄漏令牌和泄漏密码的后果是一样的。Oauth支持的5类 grant_type 及说明:authorizat
2021-05-13 19:02:55
715
6
原创 RSA加密算法的实际使用
RSA算法是一种非对称的加密算法,它通常是先生成一对RSA密钥,其中之一是保密密钥(私钥),由用户保存;另一个为公开密钥(公钥),可对外公开;要加密传输内容时,比如A要给B传输信息,此时A先用B的公钥将内容加密后传输,B收到A传输过来的信息后用自己的私钥解密。该过程中,只要B不泄露自己的私钥,那么就算第三方截取到了该信息,没有B的私钥也无法解密获得内容信息,RSA算法的安全性依赖于大数分解,计算两个大素数的乘积很容易,但是反过来由该乘积分解成两个素数相乘,如果该乘积够大的话,分解的难度是极其大的。.
2020-09-18 15:03:28
1814
原创 PHP服务器性能问题 | 利用Redis做缓存实现高并发——轻量级
每个系统都会生成新的数据,那么就有新的单据编号,而且单据编号要求唯一,编号可能是随机的,可能是递增的数字。如果是数字,那么在多用户同时访问的时候就会导致生成相同的编号,这时候利用Redis做一下缓存,设置表字段的唯一索引就可以实现小并发量的要求。分析:用户发起请求,读取Redis的值(如果没有就从数据库中加载),在该值的基础上+1,先更新到Redis,再更新到MySQL数据库。因为Redis读写速度远远超越MySQL,利用Redis做缓冲性能得以大幅度提升,生成唯一单据号就可以得以保证。(严格来说,还是
2020-08-04 23:02:17
554
原创 B-S模式API数据传输方案
随着面向服务技术架构的兴起,越来越多的应用系统开始进行分布式设计和部署。系统由原来的单一的技术架构变成了面向服务的多系统架构。原来在一个系统之间就可以完成的业务流程,现在要通过多系统之间的多次交互实现。那么面向服务的多系统架构之间必然有着大量的数据交互,那么各系统之间有什么方式,如何进行数据传输呢?下面对工作中实施的方案做了一些简单的介绍,方案可能有瑕疵,但也不影响使用。六十年前有位老人发表了“黑猫白猫”论,这里的方法好用就行。应用程序之间数据传输的三要素:传输方式、传输协议、数据格式。...
2020-08-03 11:45:09
796
1
转载 PHP命令行参数
PHP命令行参数原文地址:http://php.swoole.com/wiki/PHP%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0PHP命令行参数目录[隐藏]1php -i 2php -v 3php -m 4php -S 5php -c 6php -l 7php -r 8php --ini 9php --re swoole 10php --ri swoole 11php --rf fil...
2020-05-29 14:11:03
317
转载 高级PHP工程师所应该具备的一些技能
【声明】本文转载自https://blog.csdn.net/AI_ning/article/details/89003845感谢博主。(由于不能转载所以本文复制了全部内容重新发布)一、平静的心态和所有程序员一样,要写一手好的程序,没有好的心态是不行的。遇事不可急躁,不可轻言放弃。在程序开发过程中,尤其是初中级程序员,写出的程序或架构会遇到很多问题,其中一些问题比较弱...
2020-05-06 19:34:30
273
原创 关于系统导出性能优化方案
关于采购系统导出性能优化方案:方案一:冷数据归档 描述:对已完结的、用户不会再操作的订单数据进行归档,归档后数据不可变更,也无法操作,只能查看。 归档的数据对业务来说展示是一样的,后台实际上是分开处理,所以归档后的数据不可恢复到原始状态。 难度:困难 性能提升:查询和导出 性能会达到持久性的提升,不会因为后期数据量增加而影响效率。 ...
2020-03-02 16:56:41
777
原创 php array_merge 与 + 的区别
array_merge 与 + 使用的时候很容易搞混淆,个人理解如下:+:字面意思是 求两个数组之和,前者覆盖后者,意思就是我已经有了就不需要你的。如果键名已经存在则忽略,如果键名(无论是否是数字类型)不存在则把键值对复制过来追加在前面的数组后面,不会重建数字索引。array_merge:数组合并是求两个数组的并集,后者覆盖前者,意思就是无论我有没有都把你的合并过来。如果不是数字键...
2019-12-25 21:49:07
333
原创 curl malformed
PHP Curl调用接口时,如果 url 地址是 NULL 类型,那么调用curl_error() 方法将会 返回malformed
2019-08-31 11:46:48
5968
原创 Linux远程连接RabbitMQ提示 Broken pipe or closed connection
环境:服务器:Ubuntu 16.04.5 LTS 64位RabbitMQ服务器:RabbitMQ 3.5.7,Erlang 18.3PHP:PHP 7.0.33-0ubuntu0.16.04.5 (cli) ( NTS )当远程服务器配置好 RabbitMQ 服务,防火墙端口也打开之后,本地尝试连接远程服务器,这是出现如下错误:找了半天发现,没配置 用户权限...
2019-08-09 15:17:49
7277
原创 查询优化:SQL优化,关于连多表查询
查询优化:SQL优化场景:当列表展示的数据来自很多表中的数据时,由于需要实现相关的查询条件,WHERE涉及到每张表时,需要用JOIN连接查询出相关数据(比如查询采购单数据:有采购单、采购单明细、入库数据、报损数据、取消数据、请款数据、采购合同、产品信息等等),JOIN连接查询也很方便地获取到要返回的数据,但是问题来了,这么多表查询起来关联的数据非常多,查询耗时很大,甚至超过30秒,影响用户体...
2019-08-01 23:23:20
3550
原创 Windows批处理运行PHP任务
这里介绍了Windows运行计划任务的方法。感兴趣的童鞋往下看。背景:大多公司都是用Linux服务器,但是程序员本地开发还是用的Windows较多,本地跑一些计划任务啥的...。好了,切入主题。1、创建PHP代码文件,命名为 test_plan.php2、创建bat文件运行 PHP文件,命名为auto_run_1.bat原理是PHP.EXE执行程序执行PHP文件...
2019-07-19 18:47:07
450
原创 CI框架项目开发 - API路径配置
当需要和其他系统对接的时候,需要定义API 地址,一般都是保存在配置文件中的。一个较正规的项目开发都有开发环境、测试环境,已经上线后的生产环境,这时候不同的人员使用的环境也是不样的,需要配置路径。如何方便的配置与切换API地址是此刻讨论的目标。方案一:配置在数据库中,每个环境都有自己的数据库,给API配置不同的值,就可以区分开来。一般而言不会去改变他,不用担心用户忘记切换地址导致访问到线上...
2019-02-01 17:06:38
919
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人