PHP
文章平均质量分 64
php
WXiangQian王先森
写文章时要转变思维,以小白的角度去审视别人能不能看得懂。不定时分享实战文章、源码剖析。WXiangQian:PHP开发工程师
展开
-
mac下php81安装swoole报错fatal error: ‘pcre2.h‘ file not found
mac下php81安装swoole报错fatal error: 'pcre2.h' file not found原创 2023-11-07 12:24:02 · 538 阅读 · 0 评论 -
OpenSearch使用scroll滚动搜索实战
OpenSearch使用scroll滚动搜索实战。查询结果深处的页面可能会对性能产生重大影响,因此 OpenSearch 将此方法限制为 10000 个结果。所以需要使用scroll来解决10000以后的数据原创 2023-11-02 15:31:20 · 245 阅读 · 0 评论 -
hyperf框架接入pgsql扩展包
hyperf框引入pgsql扩展包,支持2.2以及3.0引入,hyperf/database-pgsql-incubator原创 2023-10-24 14:01:18 · 588 阅读 · 1 评论 -
php生成sitemap.xml地图文件
php生成sitemap.xml地图文件文章目录前言什么是Sitemap?sitemap文件遵循指南xml格式详解实战代码sitemap组件代码调用sitemap组件仓库地址实战截图相关问题Sitemap提交后,多久能被百度处理?提交的Sitemap都会被百度抓取并收录吗?XML格式的 Sitemap 中,“priority”提示会影响我的网页在搜索结果中的排名吗?网址在 Sitemap 中的位置是否会影响它的使用?Sitemap中提交的url能否包含中文?原创 2021-10-24 10:35:03 · 1876 阅读 · 0 评论 -
盘点2021年PHP开发工程师遇到的面试题
好长时间没有写技术实战文章了,是因为最近在面试,分享一下在2021年找工作中遇到的问题,没有具体到公司名,只有个别公司拿到了offer。有些问题模糊的想不起来了,暂时能想到的就这些。面试岗位基本都为:3-5年工作经验文章目录某房产上市公司广告部门一面(电面)二面(线下)三面(电面)某P图上市公司广告部门一面二面某上市在线教育公司一面(电面)某C轮房产行业一面(电面)二面(线下)某保姆行业一面二面参考答案某房产上市公司广告部门一面(电面)主要围绕mysql索引、redis、项目亮点.原创 2021-06-01 17:18:11 · 2489 阅读 · 37 评论 -
手把手教你用php实现无限极分类功能
php无限极分类,php实现无限极分类php轻松实现无限极分类功能-手把手教你用php实现无限极分类功能数据表设计数据表数据应用场景: 面包屑导航 分类(如:商品分类、课程分类、城市)文件夹拼装无限极分类name原创 2020-08-24 11:19:34 · 2652 阅读 · 28 评论 -
分享几种PHP常用的加密方式。
应用场景分别为:用户的唯一标识(文章加密id防止爬虫)、生成有规律的code、登录密码的加密使用hashids加密demo(用户的唯一标识、文章加密id防止爬虫)字符串与十六进制之间的转换加密(生成有规律的code) /** * 字符串转十六进制 * @param $string * @return string */ public function str_encode($string) { $hex=""; .原创 2020-08-21 09:28:51 · 649 阅读 · 0 评论 -
jwt-auth根据token反解析出用户信息
token解密使用authenticate方法,注意要先setToken:use Tymon\JWTAuth\JWTAuth; class VerifySign extends JWTAuth{ public function getUserInfo($token) { $this->setToken($token); $user = $this->authenticate(); reutrn $user;原创 2020-08-10 13:39:23 · 2681 阅读 · 0 评论 -
Mac下安装swoole的步骤以及遇到的问题
grep: /usr/include/php/main/php.h: No such file or directorygrep: /usr/include/php/Zend/zend_modules.h: No such file or directorygrep: /usr/include/php/Zend/zend_extensions.h: No such file or directory原创 2020-08-03 11:50:32 · 898 阅读 · 12 评论 -
Laravel Auth 内置登录-根据用户信息实现登录
laravel auth 内置session登录-根据用户信息实现登录项目:laravel项目没有前后端分离背景:根据用户信息(或uid)实现登录登录机制:laravel自带的auth session // Authentication Guard $guard = 'admin'; // 获取用户的user信息 $user = Admin::getUserById($uid); // 登录 Auth::guard($guard)->login($user); // 验原创 2020-07-21 17:45:15 · 1080 阅读 · 0 评论 -
GuzzleHttp cURL error 60: SSL certificate problem: self signed certificate
报错问题GuzzleHttp 发起https请求时,会报以下错误cURL error 60: SSL certificate problem: self signed certificate解决方案guzzle 发起http请求与https请求的区别,发起https请求时,需要在构造函数中传入一个配置项,$client = new \GuzzleHttp\Client(['verify' =>false]);...原创 2020-07-17 09:31:56 · 2408 阅读 · 0 评论 -
PHP语言25周年,PHP是世界上最好的语言
1995年6月8日,PHP 1.0版本正式问世,目前已经更迭到7.4版本,PHP 8.0 Alpha1版本也有望于今年6月中旬发布。25周年之际,杜蕾斯官方微博发文庆祝:“#PHP语言25周年#不管PHP是不是世界上最好的语言,反正—— print(“durex is the best”)”公众号发文:截至2020年6月9日公众号留言排名如下:由此来看,Java赢了微博发文:许多网友讨论:杜蕾斯还是不懂编程啊,PHP为什么不用echo答:有网友认为,杜蕾斯的小编可能不懂PHP,就是.原创 2020-06-09 13:01:56 · 3412 阅读 · 2 评论 -
《我的憨憨女友都能看懂学会的PHP区别表格合集》
isset 和 empty的区别public、protected、private(3p修饰符)的区别cookie 和 session的区别get 和 post的区别echo、print、print_r、var_dump的区别Redis 和 Memcached的区别Nginx 和 Apache的区别urlencode 和 rawurlencode的区别include、require、include_once、require_onceMyISAM 和 InnoDBvarchar 和 char原创 2020-05-11 14:14:01 · 1733 阅读 · 12 评论 -
PHP接入海尔消费金融
海尔消费金融简称“嗨付”,公司要求接入海尔金融分期,第一次听说这种支付,官方只有java的demo,没有php的,所以下面会提供一些php实战用到的代码介绍海尔会拉一个微信群,给一个word文档,上面会写着测试环境地址,很简洁,没有在线的接口文档,效率极低,我一共收到了3个word文档了,他们给的接口实例每次都要少点什么。开发完后,发现要注册他们平台的账号、身份证认证、人脸识别、银行卡添...原创 2020-04-10 17:04:13 · 1758 阅读 · 18 评论 -
mac重启php-fpm
查看php-fpm端口是否在被php-fpm使用sudo lsof -i:9000一般修改 php.ini 文件后经常需要重启php-fpmsudo killall php-fpm // 关闭再输入 sudo lsof -i:9000 就会发现php-fpm没有打印对应端口sudo php-fpm // 启动...原创 2020-02-17 10:04:52 · 1170 阅读 · 0 评论 -
PHP接入银联在线网关支付
php银联支付,本文介绍的是如何接入中国银联在线网关支付接入消费接口、接入交易状态查询接口、接入退货接口、测试环境测试银联支付原创 2020-01-02 17:01:27 · 5654 阅读 · 8 评论 -
EasyWeChat在laravel框架中的使用技巧
EasyWeChat在laravel框架中的使用技巧eastwechat配置获取公众号临时二维码报错:Failed to cache access token.公众号模板消息推送(推送字体带颜色)公众号服务端的使用小程序订阅消息推送小程序解密消息原创 2019-12-19 11:34:05 · 2081 阅读 · 0 评论 -
php实现防垃圾手机号注册功能(接入阿里云风险识别)
php实现防垃圾手机号注册功能(接入阿里云风险识别)使用场景介绍本司的使用场景是:做营销活动,邀请新用户得某某实物,这时候会有用户使用接码平台,利用国内或国外手机号进行注册,默认是黑号,所以要进行拦截,由此调研,确定使用阿里云的风险识别阿里云风险识别文档产品定位风险识别(Fraud Detection)基于阿里巴巴安全团队多年风控...原创 2019-12-02 09:46:37 · 1643 阅读 · 4 评论 -
Redis-PHP实战篇——常用的使用场景
Redis-PHP实战篇——常用的使用场景String 简单字符串缓存实战HSET 简单哈希缓存实战排行榜实战list分页实战简单字符串悲观锁实战简单事务的乐观锁实战原创 2019-11-25 18:35:01 · 3616 阅读 · 0 评论 -
Redis进阶篇——PHP连接redis
PHP连接redis正常PHP连接redispublic function getRedis(){ $redis = new \Redis(); $redis->connect(env("REDIS_MASTER",'127.0.0.1'),6379); $...原创 2019-11-11 18:45:31 · 779 阅读 · 2 评论 -
Redis基础篇——基本用法
基本用法Redis 键(key)Redis 键命令用于管理 redis 的键。Redis DEL 命令Redis DEL 命令用于删除已存在的键。不存在的 key 会被忽略。redis 127.0.0.1:6379> DEL KEY_NAME在以上实例中 DEL 是一个命令, KEY_NAME 是一个键。 如果键被删除成功,命令执行后输出 (integer) 1,否则将输出 ...原创 2019-11-04 18:22:44 · 639 阅读 · 0 评论 -
Redis基础篇——Redis安装
安装redis官方是没有支持Windows系统的,但是微软自己就做了一个支持win64位系统的,github地址下载 Redis-x64-xxx.zip压缩包新建文件夹redis,解压到redis文件夹内打开一个 cmd 窗口 使用 cd 命令切换目录到 C:\redis 运行:redis-server.exe redis.windows.conf如果想方便的话,可以把 redi...原创 2019-10-16 21:25:36 · 575 阅读 · 0 评论 -
【推荐】PHP各种开源网站系统、cms系统一览[持续更新]
开源的网站系统很多,今天小编统计整理一下现在流行的各种开源系统、cms推荐,分享给大家参考使用,如果大家有好的资源分享,也请在本文留言评论!1.cms系统1)知名cmsdedecms:http://www.dedecms.com/优点:免费开源、简单易上手、前后台分离、前台模版标签、可安装主题插件、模版素材多。缺点:功能集成扩展性不好不够灵活、漏洞多不够安全、对PHP...原创 2019-05-23 18:46:42 · 8976 阅读 · 20 评论 -
php实现密码强度规则
密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度超2的子串重复如果符合要求输出:OK,否则输出NG<?php//分类来解决情况比较多或者稍微复杂一点的情况$str = '密码字符串'; //1、判断长度 if(!isLength($str)){ echo 'NG'.PHP_EOL...原创 2019-05-06 17:22:41 · 1802 阅读 · 0 评论 -
php switch遇到的神坑
switch坑代码如下: (以下switch会输出什么结果?)$num = 0;switch ($num) { case $num < 12 : echo 1;die; break; case ($num >= 12 && $num < 15): echo 2;die; br...原创 2019-05-08 16:20:10 · 930 阅读 · 0 评论 -
laravel5获取当前页面的路由与方法以及Request的用法
laravel5获取当前页面的路由与方法以及Request的用法下面给大家一段获取当前页面的路由与方法的代码:$route = app('request')->route();if ($route) { $action = app('request')->route()->getAction(); $controller = '@'; if...原创 2018-08-22 18:24:38 · 8737 阅读 · 0 评论 -
PHP接入网易易盾验证码
PHP接入网易易盾验证码原创 2019-05-29 10:06:36 · 1953 阅读 · 3 评论 -
laravel/lumen 接口执行时间记录以及前后置中间件terminate的使用
routemidlleware 不支持 terminate 这是基于什么考虑的。不管 laravel 还是 lumen 只有 global middleware 才会去 call terminate 而 routemiddleware 却不会中间件文件都放在app/http/Middleware文件夹中,可以根据ExampleMiddleware.php进行创建前置中间件na...原创 2019-06-13 12:06:10 · 5373 阅读 · 0 评论 -
thinkphp3.2同时连接两个数据库
thinkphp3.2同时连接两个数据库因项目需求,需要用到连接两个库,所以封装了个方法,实例如下:tp3.2手册连接数据库在公共的function.php加入封装的方法function getCrmModel($name) { // new的model可以根据自己的需求去更改 return new \Home\Model\CrmModel($name);}model代码<?ph...原创 2019-08-02 16:43:21 · 1049 阅读 · 0 评论 -
Laravel 同时连接多个数据库
Laravel 同时连接多个数据库上文说到thinkphp3.2同时连接两个数据库的文章,然后在总结下laravel同时连接多个数据库的实例,方便新手学习,db连接以及model连接。配置.env 文件DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=database_nameDB_USERNAME=rootDB_PASSWORD=...原创 2019-08-28 15:59:38 · 2554 阅读 · 0 评论 -
Laravel中使用Queue队列技巧
Laravel中使用Queue队列技巧Laravel 队列为不同的后台队列服务提供统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和相应的时间。队列配置文件存放在 config/queue.php 。每一种队列驱动的配置都可以在该文件中找到,包括数据库,Beanstalkd ,...原创 2019-09-12 14:43:36 · 3861 阅读 · 20 评论 -
laravel中scope的用法以及技巧
laravel中scope的用法以及技巧laravel中的scope作用域laravel中在模板中处理(属于不属于)的数据(增删改查),引入了scope来处理也就是在模板定义方法中,加上前缀scope。简言之,Laravel中模型中可以定义scope开头方法,这类方法可以通过模型直接调用。这类方法也称作查询作用域。<?phpnamespace App;use Il...原创 2019-09-19 18:53:44 · 5462 阅读 · 3 评论 -
laravel的生命周期
世间万物皆有生命周期,当我们使用任何工具时都需要理解它的工作原理,那么用起来就会得心应手,应用开发也是如此。理解了它的原理,那么使用起来就会游刃有余。在了解 Laravel 的生命周期前,我们先回顾一下PHP 的生命周期。PHP 的生命周期PHP 的运行模式PHP两种运行模式是WEB模式、CLI模式。当我们在终端敲入php这个命令的时候,使用的是CLI模式。当使用Nginx或者别...转载 2019-10-08 09:39:11 · 452 阅读 · 0 评论 -
Laravel-admin 自定义excel导出数据
model-grid内置的导出功能只是实现了简单的csv格式文件的导出,如果遇到文件编码问题或者满足不了自己需求的情况,可以按照下面的步骤来自定义导出功能Laravel-admin1.5.*教程点击跳转:https://blog.csdn.net/qq175023117/article/details/80681533Laravel-admin1.6.*教程点击跳转:https://b...原创 2019-04-16 16:00:42 · 2656 阅读 · 0 评论 -
Laravel与前端的最佳实践技巧Laravel-Mix
Laravel Mixlaravel在与前端相结合这块做的很不错,提供了Laravel MixLaravel Mix 提供了简洁且可读性高的 API ,用于使用几个常见的 CSS 和 JavaScript 预处理器为应用定义 Webpack 构建步骤。可以通过简单链式调用来定义资源的编译。我们可以自己使用sass,npm,es6语法,压缩,生成随机文件名,通过webpack打包生成 注...原创 2019-03-04 15:20:19 · 876 阅读 · 0 评论 -
laravel-admin报错:Disk [admin] not configured, please add a disk config in `config/filesystems.php`.
在config/filesystems.php中disks添加:'admin' => [ 'driver' => 'local', 'root' => public_path('upload'), 'visibility' => 'public', 'url' => env('APP_URL').'/pu...原创 2018-11-12 11:31:54 · 1652 阅读 · 0 评论 -
Laravel中Eloquent event事件的使用
该文章实战删除用户事件监听在模型的生命周期:retrieved,creating,created,updating,updated,saving,saved,deleting,deleted,restoring,restored。事件允许您在每次在数据库中保存或更新特定模型类时轻松执行代码。每个事件都通过其构造函数接收模型的实例。retrieved从数据库中检索现有模型时将触发该事件。当第...原创 2018-11-12 09:39:50 · 1441 阅读 · 0 评论 -
laravel-admin重写内置视图以及设置中文语言
重写内置视图如果有需要自己修改view,但是不方便直接修改laravel-admin的情况,可以用下面的办法解决复制vendor/encore/laravel-admin/views到项目的resources/views/admin,然后在app/Admin/bootstrap.php文件中加入代码:app('view')->prependNamespace('admin', ...原创 2018-11-09 15:55:07 · 10270 阅读 · 1 评论 -
PHP获取上一篇文章和下一篇文章数据
很多框架都可以完成,同理。Laravel的Eloquent ORM 获取当前记录的上一篇下一篇然后,当时在答案里面简单写了一下解决方案。不过由于这个取得下一条和取得上一条的记录其实在日常的开发当中还是会经常遇到,最常见的场景可能就是取得一篇文章的上一篇文章和下一篇文章了。其实这个在Laravel的Eloquent中实现还是挺容易的,不过由于Laravel并没有直接提供给我们相应的方法,我们...原创 2018-10-18 16:53:24 · 3019 阅读 · 0 评论 -
laravel利用seeder实现数据表中填充数据
laravel利用seeder实现数据表中填充数据给大家演示一下如何快速填充数据表中的数据如果使用到Factory添加数据则跳转:https://juejin.im/post/5d0c8a886fb9a07eff00901a首先要执行php artisan命令 会出现各种命令指示 查找到php artisan make:seeder 根据命令指示创建相应的文件,如下所示...原创 2018-09-13 17:00:29 · 1438 阅读 · 0 评论