![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
文章平均质量分 63
zxy199288
这个作者很懒,什么都没留下…
展开
-
php mysql扩展安装
背景WSL2(ubuntu20.04)中源码编译安装的PHP,安装 mysqli 扩展报错 mysqli.so: undefined symbol: mysqlnd_global_stats解决方案网上搜索了很多,排名前列的都没有解决我的问题,经过多番查找,最终找到了问题的原因,特记录在此,希望对其他人有所帮助。mysqli扩展依赖mysqlnd扩展,如果在编译php时没有开启,后续配置php.ini时需要注意先后顺序,mysqlnd要在前面。在尝试的过程中发现,如果是通过php源码来编译扩展,m原创 2021-10-15 17:53:36 · 1071 阅读 · 0 评论 -
pflag - 更好的PHP命令行选项解析库
php-toolkit/pflag 是一个PHP编写的,通用的命令行标志(选项和参数)解析库。Github 仓库: php-toolkit/pflag功能说明通用的命令行选项和参数解析器支持设置值数据类型(int,string,bool,array),将自动格式化输入值支持为选项/参数设置默认值支持为一个选项设置多个短名称支持从环境变量读取标志值支持设置选项/参数为必须的(required)支持设置验证器以检查输入值支持自动渲染漂亮的帮助信息。命令行选项:选项以 - 或者 -- 开头的,且原创 2021-10-15 17:38:29 · 284 阅读 · 0 评论 -
微信网页登录授权流程都不清楚,还说自己3年前端?
下面是来自微信开发文档步骤如图:第一步:用户同意授权,获取code第二步:通过code换取网页授权access_token第三步:刷新access_token第四步:拉取用户信息接下来我将实际项目的代码粘出来, 前端nuxt.js前端部分在插件plugins 下app.js中封装方法export default ({ app }, inject) => { inject('wxLogin', (pageURI) => { let url = "http原创 2021-10-13 18:06:09 · 167 阅读 · 0 评论 -
使用 Roadrunner 为 PHP 程序加速
最近发布了 Laravel Octane包。 它的创建使 Laravel 对 Swoole 和 RoadRunner 更加友好。 我们在 dev.family中使用 RoadRunner 而不是 php-fpm 已经有一段时间了, 我们决定分享我们的经验并揭示它具有什么优势。RoadRunner 是一个用 Go 编写的高性能、开源的 PHP 应用服务器。 与 php-fpm 的主要区别在于 RoadRunner 与 php 的常驻进程交互, 不像 php-fpm, 会在每次请求时创建并杀掉一个新的 ph原创 2021-10-13 16:47:49 · 582 阅读 · 0 评论 -
交换两个整型变量
使用一个中间变量这种是最容易理解的$a = 1;$b = 2;$temp = $a;$a = $b;$b = $temp;var_dump($a, $b);不使用中间变量,就靠几次加减巧妙转换$a = 10;$b = 5;$a = $a + $b;$b = $a - $b;$a = $a - $b;var_dump($a, $b);使用位运算中的多次异或这种最不好理解$a = 1;$b = 3;$a = $a ^ $b;$b = $a ^ $b;$a = $a ^原创 2021-10-10 16:41:54 · 57 阅读 · 0 评论 -
用PHP轻松完成一个分布式事务TCC
什么是TCC,TCC是Try、Confirm、Cancel三个词语的缩写,最早是由 Pat Helland 于 2007 年发表的一篇名为《Life beyond Distributed Transactions:an Apostate’s Opinion》的论文提出。TCC组成TCC分为3个阶段Try 阶段:尝试执行,完成所有业务检查(一致性), 预留必须业务资源(准隔离性)Confirm 阶段:如果所有分支的Try都成功了,则走到Confirm阶段。Confirm真正执行业务,不作任何业务检查,转载 2021-10-08 18:18:56 · 406 阅读 · 0 评论 -
PHP+Redis解决实际问题一:订单限流
如何用Redis给订单限流,如每M秒允许N个访问解决方案:<?php /** * 是否允许放行 * @param string $key redis键前缀 * @param int $timeInterval 时间间隔(秒) * @param int $max 时间间隔内最大放行数 * @return bool 是否放行 * @throws Exception *原创 2021-10-08 16:48:10 · 79 阅读 · 0 评论 -
PHP 中的运算符 “? :“ (三元表达式)有什么作用?
PHP 运算符 “? :” 如何使用,效果如何?PHP 中 ? 和 : 运算符是什么样的?如下:(($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER)它是一个条件运算符。$x ? $y : $z表示 “如果 $x 是 true,那么采用 $y;如果不是则采用 $z” 。它还可以简化。$x ?: $z表示 “如果 $x 是 true,那么采用 $x;如果不是则采用 $z” 。有人会说 ?: 是 “三元运算符” 。这是不对的。 ?: 如原创 2021-09-30 16:26:58 · 830 阅读 · 0 评论 -
hyperf配置yasd调试环境
hyperf的环境采用docker构建DockerDockerfile采用hyperf的镜像文件,额外添加了yasd的扩展。# hyperf/hyperf:7.4## @link https://www.hyperf.io# @document https://doc.hyperf.io# @contact group@hyperf.io# @license https://github.com/hyperf/hyperf/blob/master/LICENSEARG ALPI原创 2021-09-29 15:20:33 · 1127 阅读 · 0 评论 -
运维相关 如何解决504报错
504原因分析:PHP运行时间超时,导致程序报错504;Nginx运行时间超时,导致程序报错504;php-fpm运行超时,导致程序报错504。1. PHP代码导致程序报错首先确认PHP版本,PHP5.4版本下有一个叫做safe_mode安全模式的运行模式,一旦开启后,一些函数将会失效,例如我们解决PHP运行时间限制的函数 set_time_limit以及 php.ini中的max_execution_time 如果你开启了这一模式 请关闭后重启PHP。PHP默认安全模式是关闭的 所以如果你没有开启原创 2021-09-28 17:39:26 · 1681 阅读 · 0 评论 -
自定义一个kaniko镜像
工具与资源中心帮助开发者更加高效的工作,提供围绕开发者全生命周期的工具与资源背景kaniko是一款方便我们从K8S内部构建docker容器的工具,以前我们在CI过程中,使用的是docker-in-docker技术,这种技术最主要的缺陷就是当一台机器上同时运行多个docker build流水线时,会出现阻塞的情况,因为这一批流水线用的是宿主机上的同一个docker进程。基于这种情况,我们在droneCI流水线中换用了kaniko来进行docker镜像的创建。遇到的难题kaniko是基于scrat原创 2021-09-26 17:26:33 · 340 阅读 · 0 评论 -
php 处理 浮点数 精度运算 数字处理等
前言1. php浮点类型数字进行运算 稍微不留神就会出现偏差 特别是金融行业,电子商户订单,商城类项目。2. 浮点数的精度有限。尽管取决于系统,PHP 通常使用 IEEE 754 双精度格式,则由于取整而导致的最大相对误差为 1.11e-16。非基本数学运算可能会给出更大误差,并且要考虑到进行复合运算时的误差传递。永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。如果确实需要更高的精度,应该使用任意精度数学函数 或者 gmp 函数。一 . 运算错误 //加 $a = 0.原创 2021-09-25 17:44:15 · 239 阅读 · 0 评论 -
PHP常见数组函数与实例
一、数组的一些关于键名和值的基础操作函数1.获取数组所有的键或值:array_keys() array_values()$arr_keys = array_keys($array);$arr_values = array_values($arr);2.交换数组中键和值的位置,若重复前面的会被后面的覆盖:array_flip()$arr2 = array_flip($arr);3.给定的值是否在数组中:in_array(value,array)$bool = in_array('hello',$ar转载 2021-09-24 16:40:31 · 134 阅读 · 0 评论 -
分布式系统的数据一致性问题,你是如何解决的?
1、一致性概念:指分布式服务系统之间的弱一致性,包括应用系统的一致性和数据的一致性.数据量大,高并发要求高,强计算能力,响应速度要求快,等的互联网要求场景下,服务节点开始池化,开始出现容器应用和数据拆分,分而治之的思想和逻辑水平拆分和垂直拆分 2、解决一致性问题的模式和思路(1)酸碱平衡理论①ACID(酸)原子性,一致性,隔离性,持久性。关系型数据库事务处理保证强一致性通常是通过多版本控制协议(MVCC)来实现的下订单和扣库存不一致问题可以将订单和库存放入同一数据库分片,通过关系型数据库事务处理的4个基本转载 2021-09-23 17:21:59 · 2166 阅读 · 0 评论 -
使用 spatie/async 库来写异步的 PHP 代码
对于大多数用 PHP 编写的程序,它的唯一目的是执行由多个任务组成的简单进程,其中任务必须按顺序执行,如数据处理。我们总是不得不忍受同步编程的停止和等待。代码执行的同步风格被称为阻塞,这意味着任务将一个接一个地执行。那么,如果我们想要运行任务而不让它们相互阻塞,这意味着我们需要一个非阻塞进程,那该怎么办呢?这种方法需要在 PHP 中应用异步编程方法,这里的任务将在不相互依赖的情况下执行。在 PHP 中实现非阻塞执行的一种常见方法是实现队列处理。任务被持久保存到 MySQL、Redis、Amazon SQ.原创 2021-09-18 17:26:24 · 255 阅读 · 0 评论 -
PHP高级面试重点回顾
由于疫情的原因,是视频面试,甲方阵容hr主管一人,产品经理一人,本次面试直接负责人技术总监A,另外两人好像是同岗位不同部门负责人(B和C)(嗯,年龄都是35+)。话不多说直接上题。(有些想用冒号分隔的,奈何键盘的冒号键和tab好像坏了)开场时,hr介绍了本次参与面试的各成员即职位,然后了解他的疑问,产品经理询问了本辞职的原因和想要了解的问题。接下来正戏开始了。总监A:看你对MySQL掌握的很熟练,说说MySQL的隔离级别。。我:MySQL事务的隔离级别从第到高分别是读未提交,读已提交原创 2021-09-18 17:19:02 · 213 阅读 · 0 评论 -
请问下如何遍历展示数据表?
自己尝试制作一个简单的datatables的展示示例,30万条的数据无法在前端页面展示环境:PHP MySQL Apache 虚拟机配置内存:2GB数据表:数据量30万(包含首行)数据示例test.PHP 代码<?php/*定义读写超时常量*/if (!defined('MYSQL_OPT_READ_TIMEOUT')) { define('MYSQL_OPT_READ_TIMEOUT', 11);}if (!defined('MYSQL_OPT_WRITE_TIM原创 2021-09-16 15:52:24 · 119 阅读 · 0 评论 -
理解位运算|php
原码,反码,补码我们以整数来说,php中整型数据占内存8byte,也就是64bit位,每个位要么是0,要么是1;我们用左边第一位作为符号位,0为正,1为负;原码:十进制转换成的二进制10000000 ... 00000101 -5原码反码则是在原码基础上,符号位不变,其它位取反11111111 ... 11111010 -5反码补码则是在反码的基础上+111111111 ... 11111011 -5补码可以看到负数是以补码形式存储总结正数的原码,反码,补码,都是原码;负数以补码的形式转载 2021-09-16 15:39:27 · 61 阅读 · 0 评论 -
PHP文件上传后缀名与文件类型对照表
php上传常见文件类型对应的$_FILES[“file”][“type”]1、xlsapplication/vnd.ms-excel2、xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet3、pptapplication/vnd.ms-powerpoint4、pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentat.转载 2021-09-15 14:53:18 · 2481 阅读 · 0 评论 -
自定义生成列表页面代码
列表页面 生成命令php artisan create:view Admin/User index 1. 生成代码位置”resources/js/pages/admin/users”<template><div class="admin_user_index"> <div class="row"> <div class="col-xs-12"> <data-table class="b..原创 2021-09-14 16:07:15 · 379 阅读 · 0 评论