- 博客(46)
- 收藏
- 关注
原创 docker php 容器安装redis和mongodb扩展
很多项目(几乎所有)都有用到redis和mongodb来存储数据,php没有自带这些扩展,需要手动安装。完成上面步骤,使用 `php -m | grep mongodb` 查看是否安装完成。完成上面步骤,使用 `php -m | grep redis` 查看是否安装完成。如上图所示,即 php mongodb 扩展安装完成。如上图所示,即 php redis 扩展安装完成。4. 在PHP配置文件中启用MongoDB扩展。5. 重新启动 php-fpm 服务。5. 在PHP配置文件中启用扩展。
2023-07-20 14:06:20 1092
原创 Laravel 打印输出模型执行的最终sql语句
今天遇到一个相对复杂的业务场景,拼接多个whereRaw的sql语句,在程序里将执行sql(上图中的)打出来放到数据库执行,是可以拿到预期符合条件数据(如下图),但是程序执行,怎么都拿不到数据,很是奇怪。然后观察语句发现like时,框架给字符串自动拼接了引号转义符并且多加了一层 单引号,导致语句不正确,所以查询拿不到预期数据,修改后即可。Laravel 自带打印查询执行的sql的方法 toSql 和 加日志输出到 storage 目录。一、框架自带打印sql语句存在的问题。
2023-04-17 20:20:58 3856
原创 Mac升级go版本(指定或最新)
对于Intel处理器选择Mac OS x86-64版本,其他的处理器(M1, M2)选择Mac OS。在Mac中对go版本的升级采用先卸载后安装的过程进行go版本升级(或者回退)。对于升级场景,之前配置的go环境变量可以保留不删除。不知道自己处理器类型的,可以自行GPT。然后 ide配置换成新版本即可。会提示输入密码校验即可。至此,go版本升级完成。
2023-03-30 17:08:41 4338
原创 mac 微信多开
相信有不少的用户有使用微信工作的场景,并且工作起来一个微信还不够用,需要多个微信并且需要同时在线,微信本身又不支持同设备同时登录多个,怎么办呢,不要着急,下面来看解决办法
2022-06-01 18:36:40 486
原创 在goland中goimports的安装和使用
1.下载goimports在goland中在任意一个项目的终端执行(gopath下的项目)go get -v golang.org/x/tools/cmd/goimports2.安装goimports返回到goland的终端输入go install golang.org/x/tools/cmd/goimports然后我们可以在 GOPATH/bin 目录下看到 goimports 文件 (win是goimports.exe)然后我们将该文件复制到GOROOT目录下的b
2021-12-14 20:19:01 2887
原创 Go 标准库之 strconv(类型转换)
参考:Go语言strconv包:字符串和数值类型的相互转换在实际开发中我们往往需要对一些常用的数据类型进行转换,如 string 、 int 、 int64 、 float 等数据类型之间的转换, Go 语言中的 strconv 包为我们提供了字符串和基本数据类型之间的转换功能。strconv 包中常用的函数包括 Atoi() 、 Itia() 、 parse 系列函数、 format 系列函数、 append 系列函数等,下面就来分别介绍一下。1. string 与 int 类型之间的转换.
2021-10-18 16:01:32 903 1
转载 redis各类型数据key基础操作
redis数据类型操作,建议收藏keykeys *scan 0 match * count 1exists key 判断某个key是否存在move key db 当前库就没有了,到指定的库中去了expire key 为给定的key设置过期时间ttl key 查看还有多少时间过期 -1表示永不过期 -2表示已过期type key 查看key是什么类型1.stringstring是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个ke..
2021-06-02 11:17:08 606
原创 go-php-grpc-example
Golang 服务端,PHP客户端 的 GRPC 示例代码博客地址:https://www.xhyonline.com/?p=1416一、安装环境我们需要编写.proto文件,然后通过 protoc 命令编译,因此需要安装 protoc地址:https://github.com/protocolbuffers/protobuf/releases我是 windows 环境,因此就下载了这个压缩包,然后将 bin 目录下的 exe 添加至环境变量命令行需要重启重启之后在命..
2021-05-22 11:12:25 351
原创 程序生成随机双色球号码~golang
程序语言有很多种,任意语言都可以完成该充满希望的需求,且实现方法也有多种这里使用 goland 完成此希望工程,只当做示例参考,下面看代码:package mainimport ( "fmt" "math/rand" "sort" "time")func main() { getBalls()}func getBalls() { // 定义红球数组 var redBalls [6]int for i := 0; i < 6; i ++ { for {
2021-03-19 11:36:55 1407 2
原创 GO 发起HTTP请求调用接口
Go发起GET请求基本的GET请求//基本的GET请求package mainimport ( "fmt" "io/ioutil" "net/http")func main() { resp, err := http.Get("http://www.hao123.com") if err != nil { fmt.Println(err) return } defer resp.Body.Close
2020-12-15 08:49:58 10971
原创 Go time.Parse转时间戳为啥会自动加8小时?
今天在Go里面写业务时,遇到了时间转换问题time.Parse转时间戳会自动加8小时,然后费解就找原因...先看下示例代码:package mainimport timefunc main() { t := time.Now().Unix() d := time.Unix(t, 0).Format("2006-01-02 15:04:05") tt, _ := time.Parse("2006-01-02 15:04:05", d) println("=============
2020-12-11 13:53:47 4323
原创 mysql groupBy 按日期分组
需求中经常会有按日期,月份,年份分组统计的操作那么groupBy直接是实现不了的,需要转化一下,话不多说,看代码SELECT FROM_UNIXTIME(create_time, '%Y-%m-%d') as day, create_time, count( DISTINCT uid ) AS amount FROM `black_production_user` WHERE create_time >= 1588262400 AND create_time <= 16
2020-12-10 10:10:07 6841
原创 mysql批量插入数据
delimiter $$DROP PROCEDURE IF EXISTS proc_batch_insert;CREATE PROCEDURE proc_batch_insert()BEGINDECLARE i INT;SET i=1;WHILE i < 1000 DO INSERT INTO `testtt`.`test1`(`name`, `age`) VALUES ('测试',30);SET i=i+1;END WHILE;END $$de...
2020-12-09 13:58:47 333
原创 Git 回滚到指定版本分支
git回滚到指定版本,并提交到远程分支1、git reflog可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)2、git log可以显示所有提交过的版本信息二者区别:用git log则是看不出来被删除的commitid,用git reflog则可以看到被删除的commitid3、git reset --hardHEAD 切换到版本号为HEAD的那个版本,例如git reset --hard 0fc2a4d那么会切换到版本号为0fc2a...
2020-11-05 18:41:13 3414
原创 PHP数组按两个字段排序
工作过程中,会遇到这样的需求,返回数据要先按价格排序,价格相同的再按库存量排序那原生不改编的函数是很难满足的那就自己改编下吧,废话不多说,直接上代码public function sortByTwoField($data){ if(count($data) <= 0){ return $data; } foreach ($data as $key => $value){ $price[$key] = $value['price
2020-10-27 20:20:01 1220
原创 crontab 定时任务--细节
如果给你个任务, 让你每小时执行一次脚本, 是不是就这样: 1 * */1 * * * xxxxx.bash 这样就错了呦~以上产生的结果是每分钟执行一次, 因为从匹配角度来看每分钟都符合规则, 继而执行命令因此对于整点定时任务有两种写法:每整点执行一次: 1 0 */1 * * * xxxxx.bash 每隔60分钟执行一次: 1 */60 * * *
2020-10-14 14:09:17 807
原创 git stash 保存和恢复分支内容
基本使用stash命令可用于临时保存和回复修改,可跨分支。注:在未add之前才能执行stash!!!! `git stash` 保存当前工作进度,将工作区和暂存区恢复到修改之前。 `git stash save message` 作用同上,message为此次进度保存的说明。 `git stash list` 显示保存的工作进度列表,编号越小代表保存进度的时间越近。 `git stash pop stash@{num}`只能恢复一次 恢复工..
2020-09-22 17:50:36 800
原创 git如何从master分支创建新分支
从master创建新分支步骤如下:1.切换到master分支$git checkout master2.拉取最新版本到本地$git pull3.从当前分支copy新分支,新分支名称:new-branch$git checkout -b new-branch4.把新建的分支push 到远程仓库$git push origin new-branch5.关联$git branch --set-upstream-to=origin/new-branch6.再次拉取验证$gi
2020-06-09 09:39:14 5423
原创 php中的访问修饰符、方法修饰符、接口
访问修饰符修饰符 描述 public(公有的) 可以在类的内部和外部访问 private(私有的) 只能在类的内部访问 protected(受保护的) 在类的内部和子类中访问(在整个继承链上访问) 方法修饰符static(静态的)class Person { public static $national = '中国'; pub...
2019-09-25 19:53:48 427
原创 30道干货php面试题
以下推荐一些面试常见的试题,希望对你有用!!1、冒泡排序,面试前一定要记住哦! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 function maopao($arr) { $len = count($...
2019-08-12 11:23:06 538
原创 # 15 张思维导图来快速学习PHP
PHP 简介PHP安装PHP语法PHP数据类型PHP变量PHP数组(点击图片查看大图)PHP常量PHP超级全局变量PHP魔术变量PHP运算符PHP流程语...
2019-08-08 15:35:34 313
原创 Redis的持久化机制,你需要了解下
Redis是我们常用的key-value数据库,其中可持久化的特性也是被各路开发者喜爱。接下来,我们来简单聊聊Redis的两种持久化机制RDB和AOF。一、RDB1、RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。RDB是Redis默认的持久化方式,会在对应的目...
2019-07-24 09:52:27 145
原创 MySQL优化方案--实用
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化:单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段 尽量使用TINYINT...
2019-07-09 11:46:47 253
原创 CentOS7+Nginx设置systemctl restart nginx.service服务
centos 7以上是用systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。关于Systemd的详情介绍在这里。Systemd服务文件以.service结尾,比如现在要建立nginx为开机启动,如果用yum install命令安装的,yum命令会自动创建nginx.serv...
2019-07-02 12:10:44 2504
原创 Laravel 打印查询执行的sql语句 -
Laravel 打印查询执行的sql语句DB::connection()->enableQueryLog(); # 开启执行的日志//执行的sql语句 # 这里是用laravel模型查询的语句var_dump(DB::getQueryLog()); # 打印模型查询执行的sql语句...
2019-06-25 11:35:56 1970 1
原创 PHP 合并两个或多个数据模型为同一集合,并按某字段排序
PHP 合并两个或多个数据模型为同一集合,并按某字段排序首先这种需求在实际应用中还是存在的有两个不同的数据表查询到两个不同的数据模型,返回的数据集合要包含这两个模型下面看做法:# ------------------------------------------------------------------------------------ #public functi...
2019-06-20 11:16:03 1189
原创 Warning: PHP Startup: Unable to load dynamic library 'zip.so' 解决办法 -
在服务器上新装好的php 执行php -v 查看版本时报错如下图:解决办法:将/etc/php.d/ 目录下的.ini文件全部重命名为.so文件, 或删除对应的 *.ini 文件# cd /etc/php.d/如:#mv zip.ini zip.so全部改完即问题解决,祝大家工作顺利,身体健康~...
2019-04-11 17:01:02 7714 1
原创 PHP面试大全
2019PHP面试题大全一 、PHP基础部分1、PHP语言的一大优势是跨平台,什么是跨平台?PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所以叫跨平台2、WEB开发中数据提交方式有几种?有什么区别?百度使用哪种方式?Get与post两种方式区别:(1)url可见性:ge...
2019-03-14 17:13:05 1408
原创 linux 配置/更改 php环境变量,切换默认php版本
查看PATHecho $PATH1.对所有用户永久有效cd /etcvim /etc/profile加上 export PATH=/usr/local/php/bin:$PATH保存退出source /etc/profile完成.php -v注:该配置对所有用户永久生效2.临时有效,重启或者其他用户无效cd /etcexport PA...
2019-03-14 17:04:25 7427
原创 linux命令 awk 入门教程 - php
awk 是处理文本文件的一个应用程序,几乎所有 Linux 系统都自带这个程序。它依次处理文件的每一行,并读取里面的每一个字段。对于日志、CSV 那样的每行格式相同的文本文件,awk可能是最方便的工具。awk 其实不仅仅是工具软件,还是一种编程语言。不过,本文只介绍它的命令行用法,对于大多数场合,应该足够用了。 一、基本用法awk的基本用法就是下面的形式。# 格式$...
2019-01-22 12:30:21 181
原创 cURL error 60: SSL certificate problem: self signed certificate in certificate chain - 服务器http302
cURL error 60: SSL certificate problem: self signed certificate in certificate chain 出现这个一般是自签名证书的问题php5.6以上的版本可能会出现这种问题解决办法:访问https://curl.haxx.se/docs/caextract.html,下载cacert.pem,如下图,直接点击红框部分自...
2019-01-14 13:45:27 9837 1
原创 查询最近7天、30天、每天、昨天、上个月的记录 - php
一些变量说明:add_time为插入的时间to_days是sql函数,返回的是个天数data()函数返回日期或日期/时间表达式的日期部分data_sub(date,INTERVAL expr type)给指定的日期减去多少天curdate()函数返回当前的日期 y-m-ddata_format 用于以不同的格式显示日期/时间数据period_diff(p1,p2)返回周期P1和P2...
2019-01-10 16:55:52 3639
原创 php date或者time获取当前时间,差8个小时解决方案 -
从php5.1.0开始,php.ini里加了date.timezone这个选项,并且默认情况下是关闭的也就是显示的时间(无论用什么php命令)都是格林威治标准时间和我们的时间(北京时间)差了正好8个小时。 关于timezone 大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi ,PRC(依次为重庆,上海,乌鲁木齐,中华人民...
2018-12-06 14:25:00 3659
原创 nodejs npm安装错误解决 -
npm安装还是比较简单的,安装按照搜索到的教程就可以 下面主要记录几个命令和几个配置文件的位置和作用,方便解决遇到的问题 npm cache verify # 重置npm缓存npm config set proxy null # 配置代理为nullnpm install -g express-generator # 安装全局 express ...
2018-11-21 15:53:53 1454
原创 windows10系统连接远程服务器出现身份验证错误,要求的函数不受支持 -
当我们连接远程服务器时,“出现身份验证错误,要求的函数不受支持”这样的问题,这让人有点不知所措。。。。当然也不用着急,其实解决办法也很简单的,按照楼主下面的步骤走就OK了,提示:一定要仔细点哈!好了废话不多说,直接看解决办法解决办法:1.打开注册表(win+R,输入regedit)2.依次找到HKEY_LOCAL_MACHINE --》SOFTWARE --》Microso...
2018-09-29 18:11:40 1198
原创 服务器搭建LNMP运行环境 -
首先先下载一个putty,输入服务器的ip地址,远程连上服务器,然后输入用户名和密码登录第一步:安装前先更新系统 #yum update ,检查是否有安装了wget # rpm -qa wget,是否安装了编译器 #rpm -qa gcc显示系统无需更新,已经安装了wget和编译器如果没有安装wget和编译器是没有任何东西显示的,输入#yum install...
2018-09-27 14:41:07 473
原创 laravel captcha 验证码不显示 -
laravel 框架composer 加载captcha插件实现验证码出现诡异bug解决方案1.首先说一下楼主遇到这个问题后的经历,查看了各种博客,翻了小100篇文章,各种介绍 验证码生成,(此时已经重新生成第9遍),依然是同样的问题,复制图片来看路径是一个小黑框,见下图2.对就是这样的,很难受,然后怎么办呢,也不能放弃,只能继续杀杀脑细胞,然后想到了清楚缓存,就在控制器尝试,依然...
2018-08-01 10:14:21 3965 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人