![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
文章平均质量分 95
Lansonli
CSDN大数据领域博客专家,InfoQ写作社区2022年度影响力作者、华为云社区2022年度十佳博主、华为云享专家、阿里云专家博主、腾讯云开发者社区2022年度最佳作者、腾云先锋(TDP)核心成员、51CTO专家博主,全网二十万多粉丝,知名互联网公司大数据高级开发工程师
展开
-
php 正则中文匹配
汉字一定注意是gbk还是utf8编码UTF-8匹配:在javascript中,要判定字符串是中文是很简朴的。比如:var str = "php编程";if (/^[\u4e00-\u9fa5]+$/.test(str)) {alert("该字符串全部是中文");} else{alert("该字符串不全部是中文");}php中,是用 ... UTF-8匹配: 在javascript中...转载 2019-04-04 09:22:15 · 6435 阅读 · 0 评论 -
微信支付案例
微信支付微信支付分为微信扫码支付和移动端支付,开始说说微信移动端支付吧一、微信移动端发起支付类在类文件weixin移动端 WechatPayment,现在开始进行实例化 并进行发起支付操作,代码如下这个package参数才是发起支付的关键,在js代码会使用到这个参数,代码如下首先引入支付js脚本文件<script src="http://res.wx.qq.com...原创 2020-08-01 23:21:17 · 759 阅读 · 0 评论 -
ThinkPHP 详细介绍
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国...转载 2018-05-07 21:34:59 · 1906 阅读 · 0 评论 -
FastAdmin扩展PHPEXCEL,PHP7.3高版本兼容问题
THINKPHP扩展PHPEXCEL与PHP7.3高版本兼容问题框架:THINKPHP5,PHPEXCEL版本:1.81无法导出EXCEL原因为Shared/OLE.php第290行使用continue,PHP7不支持,修改为continue 2即可。...原创 2019-12-14 23:15:08 · 1992 阅读 · 0 评论 -
在Lumen中引入钉钉SDK
最近在用Lumen开发钉钉企业内部应用,需要调用钉钉的SDK。不得不说,钉钉开发文档写的真是感人,开发的时候那是相当刺激。在使用SDK的时候遇到不少坑,钉钉的文档写的不是很详细,记录下在Laravel中集成DingTalk SDK的方法:1.首先在http://open-doc.dingtalk.com/microapp/serverapi2/vzzrkv中下载PHP版本SDK。解压后文件目录如图这里我只用到dingtalk中的文件,删除aliyun、QimenCloud目录,保留top目录Autolo原创 2020-05-17 16:11:48 · 1171 阅读 · 1 评论 -
VS Code配置PHP XDebug
打debug还是很有必要的,以前嫌麻烦,现在觉得,通过debug可以看自己写的代码的执行的逻辑,更容易理清别人代码的逻辑。步骤:下载phpdebug插件 查看自己的php版本信息,下载对应的debug版本 配置php.ini 配置 vscode中phpdebug配置(一般不用设置默认端口9000)下载插件:2,查看自己的php版本所需的xdebug版本打印phpinfo,随便写个方法在浏览器访问,就可以拿到phpinfo信息当年还是新手的时候,自己搞了半天都...原创 2020-07-04 23:08:37 · 1325 阅读 · 0 评论 -
什么是 JWT -- JSON WEB TOKEN
什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。起源说起JWT,我们应该来谈一谈基于token的认证和传统的session认原创 2020-07-30 00:19:45 · 535 阅读 · 0 评论 -
PHP 使用非对称加密算法(RSA)
加密的类型:在日常设计及开发中,为确保数据传输和数据存储的安全,可通过特定的算法,将数据明文加密成复杂的密文。目前主流加密手段大致可分为单向加密和双向加密。单向加密:通过对数据进行摘要计算生成密文,密文不可逆推还原。算法代表:Base64,MD5,SHA; 双向加密:与单向加密相反,可以把密文逆推还原成明文,双向加密又分为对称加密和非对称加密。对称加密:指数据使用者必须拥有相同的...原创 2019-09-10 00:17:44 · 2304 阅读 · 1 评论 -
Lumen报class does not exist的mailer坑
class does not exist来报道很不辛,我遇到了它.清除已编译的缓存文件并更新 autoload 文件。在命令行中切换到项目根目录,依次运行如下命令。php artisan clear-compiledphp artisan optimize 或者 composer dump-autolpad --optimize很遗憾,问题没有解决苦思冥想,我靠,中间件没有注册................在/bootstrap/app.php中添加如下代码,如果有疑问可以参.原创 2020-06-14 18:02:46 · 1384 阅读 · 0 评论 -
Lumen框架多数据库连接配置方法
Lumen作为一款API导向很浓的框架,配置极简化,默认只支持一路DB配置然而随着业务复杂度的提高,引入多个数据库连接似乎无法避免,下面介绍一下LUMEN连接多个数据库的配置方法:修改.env文件,增加新DB配置,如下://DB1 配置DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=dbname...原创 2020-01-09 00:32:31 · 1819 阅读 · 0 评论 -
Laravel/Lumen 使用 Redis队列
一、概述在Web开发中,我们经常会遇到需要批量处理任务的场景,比如群发邮件、秒杀资格获取等,我们将这些耗时或者高并发的操作放到队列中异步执行可以有效缓解系统压力、提高系统响应速度和负载能力。二、配置文件我们仍然从配置文件开始,首先我们需要在配置文件中配置默认队列驱动为Redis。lumen没有配置文件,可以从laravel项目中拷贝一份config目录过来。队列配置文件是config/queue.php:return [ 'default' => env('QUEUE_D原创 2020-10-27 23:45:47 · 1285 阅读 · 0 评论 -
Laravel7中Redis队列的使用
一、配置文件首先我们需要在配置文件中配置默认队列驱动为Redis,队列配置文件是config/queue.php:return [ 'default' => env('QUEUE_DRIVER', 'sync'), 'connections' => [ 'sync' => [ 'driver' => 'sync', ], 'database' => [原创 2020-10-25 23:12:50 · 1306 阅读 · 0 评论 -
Laravel中Redis的配置和使用
引入rediscomposer require predis/predis会在composer.json中引入最新版本的prediscomposer update把下载predis 库加入到vendor,命令执行成功后,如图:配置redis说到laravel 中redis 的配置,其实默认项目中已经有了相关配置,只是默认没有使用。默认使用的是:项目 使用类型 CACHE_DRIVER file SESSION_DRIVER file ...原创 2020-10-24 00:22:47 · 1388 阅读 · 0 评论 -
【laravel7.x中文文档】Redis
Redis简介Redis是一个开源的,高级键值对存储数据库。由于它包含字符串,哈希,列表,集合,和有序集合这些数据类型,所以它通常被称为数据结构服务器。在将 Redis 与 Laravel 一起使用前,我们鼓励你通过 PECL 安装并使用PhpRedisPHP 扩展。尽管扩展安装起来更复杂,但对于大量使用 Redis 的应用程序可能会产生更好的性能。或者,您可以通过 Composer 安装predis/predis包:composer require predis...原创 2020-10-21 21:53:18 · 939 阅读 · 0 评论 -
Laravel Redis操作大全
1,普通得set/get操作,set操作,如果键名存在,则会覆盖原有得值$redis = app("redis.connection");$redis->set('library' , 'phpredis');//存储key为library ,值phpredis得记录$redis->get("library");//获取key为library得记录值set/get 多个key-value$mkv = array( "user...原创 2020-09-30 23:56:43 · 3681 阅读 · 0 评论 -
Laravel清除缓存常用命令
清除编译缓存php artisan clear-compiled 清除数据缓存php artisan cache:clear 清除配置缓存php artisan config:clear清除路由缓存php artisan route:clear原创 2020-09-09 09:22:22 · 1279 阅读 · 0 评论 -
Laravel和Thinkphp有什么区别,哪个框架好用
Laravel和Thinkphp这两个php框架对于php程序员都不陌生,新手可能对Thinkphp比较熟,也是国内比较出名的开源框架,更高级的Laravel一般有点经验的才使用。TP框架:ThinkPHP简单、快速,基于MVC和面向对象,易用性较高,是一款简洁实用的轻量级框架。Laravel框架:Lavavel一直秉承着优雅的原则,很好的支持了composer,实现了更丰富的扩展,社区文档活跃,相较于TP,Lavavel更庞大,安全性也更高,更适合开发大中型项目,被称为“巨匠型开发框架”。原创 2020-08-16 11:14:12 · 4377 阅读 · 0 评论 -
Laravel7使用Auth进行用户认证
laravel7 版本移除了 auth,大家都知道以前版本是直接使用php artisan make:auth就可以使用,但是这版本不行了,那么要怎么弄呢?今天和大家说一下具体步骤。Laravel7 的 laravel/ui 包提供了一种快速方法,可以使用一些简单的命令来支持你进行身份验证所需的所有路由和视图:安装依赖包laravel/ui直接使用命令进行安装composer require laravel/ui创建auth脚手架直接使用命令进行创建#注意这里的v.原创 2020-08-15 23:27:47 · 1915 阅读 · 0 评论 -
Laravel Dcat Admin 安装
安装环境PHP >= 7.1Laravel 5.5.0 ~ 7.*Fileinfo PHP Extension开始安装如果安装过程中出现 composer 下载过慢或安装失败的情况,请运行命令 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 把 composer 镜像更换为阿里云镜像。首先需要安装 laravel,如已安装可以跳过此步骤composer c.原创 2020-08-01 23:40:54 · 1705 阅读 · 0 评论 -
Laravel Dcat-admin 详情页多栏布局开发
背景随着 dcat-admin 越来越多的人使用,相信有许多跟我一样热爱这个项目的的人最后也会参与到这个项目中来,从使用者到项目的维护者,可以为项目贡献一份自己的力量。我以后也会将维护这个项目的一些心得,底层代码的实现都以博文的形式分享给大家。需求有个同学提了一个这样的需求 ; 需要在表单 / 详情支持多栏布局,而这个需求刚好我自己用 dcat-admin 做项目时候也遇到过。尤其是 form 表单字段比较多的时候,我开始的解决方案是通过 form 的 tab 来减少表单一页的字段数量。原创 2020-08-01 23:31:26 · 3280 阅读 · 1 评论 -
Laravel 7发行说明
版本化方案Laravel及官方发布的包皆遵循语义版本化。主要框架版本每六个月发布一次 (~2月和~8月),而次要和补丁版本可能每周发布一次。次要版本和补丁决不包含非兼容性更改。引入 Laravel 框架或其组件时,应始终使用版本约束,如^7.0,因为 Laravel 的主要版本确实包含非兼容性更改。我们会努力确保您可以在一天或更短的时间内更新到最新版本。支持政策对于 LTS 版本,例如 Laravel 6,提供了 2 年的错误修复和3年的安全修复。这些版本提供了最长的支持和维护窗口。...原创 2020-07-28 23:55:46 · 821 阅读 · 0 评论 -
依赖注入?依赖注入是如何实现解耦的?
如何用最简单的方式解释依赖注入?依赖注入是如何实现解耦的?第一章:小明和他的手机从前有个人叫小明小明有三大爱好,抽烟,喝酒…… 咳咳,不好意思,走错片场了。应该是逛知乎、玩王者农药和抢微信红包我们用一段简单的伪代码,来制造一个这样的小明class Ming extends Person{ private $_name; private $_age; function read() { //逛知乎 } functio原创 2020-07-28 23:39:46 · 1317 阅读 · 0 评论 -
Lumen / Laravel 使用网易邮箱 SMTP 发送邮件
Laravel 是目前最流行的PHP框架,而Lumen 是 Laravel 的精简版,主要用于接口开发。Laravel 邮件发送服务基于 Symfony 组件 Swift Mailer。本文记录了在 Lumen / Laravel 5 环境中,使用网易邮箱 SMTP 发送邮件的主要步骤,希望对大家有一些参考价值。获取网易邮箱的服务器和授权码:登录网易邮箱:http://mail.163.com/获取服务器地址:点击【设置】 > 【POP3/SMTP/IMAP】选项: 可以查看.原创 2020-06-12 23:58:36 · 2559 阅读 · 0 评论 -
Laravel/Lumen 使用 redis队列
一、概述在Web开发中,我们经常会遇到需要批量处理任务的场景,比如群发邮件、秒杀资格获取等,我们将这些耗时或者高并发的操作放到队列中异步执行可以有效缓解系统压力、提高系统响应速度和负载能力。二、配置文件我们仍然从配置文件开始,首先我们需要在配置文件中配置默认队列驱动为Redis。lumen没有配置文件,可以从laravel项目中拷贝一份config目录过来。队列配置文件是config...原创 2019-11-11 23:45:29 · 1204 阅读 · 0 评论 -
php – Laravel 7 Session Lifetime
根据Laravel config / session.php/*|--------------------------------------------------------------------------| Session Lifetime|--------------------------------------------------------------------------|| Here you may specify the number of minutes th原创 2020-10-25 21:58:09 · 1496 阅读 · 0 评论 -
php7安装redis6扩展
1、下载php-redis扩展下载地址:http://pecl.php.net/package/redis具体下载版本以自己的PHP版本信息为准linux下载命令复制代码wget http://pecl.php.net/get/redis-5.3.1.tgz2、安装复制代码tar zxvf redis-5.3.1.tgz #解压cd redis-5.3.1 # 进入安装目录phpize # 用phpize生成configure配置文件./configure --w原创 2020-10-21 23:58:40 · 1449 阅读 · 0 评论 -
composer PHP Fatal error: Allowed memory size of 报错解决
执行以下命令(安装多线程)php composer.phar require hirak/prestissimo出现以下提示PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 32 bytes)原因是内存不够,这需要到php.ini里配置,在php7.4版本里有效,7.2我走过,无效,用install命令是可以的,这是windows下的BUG吧memory_lim原创 2020-09-28 15:16:03 · 2248 阅读 · 0 评论 -
php将图片链接转换为base64编码文件流
/*** 图片链接转换为 base64 文件流* @param $imgUrl* @return string*/function img_url_to_base64($imgUrl){ $imageInfo = getimagesize($imgUrl); return 'data:' . $imageInfo['mime'] . ';base64,' . chunk_split(base64_encode(file_get_contents($imgUrl)))...原创 2020-08-30 11:53:19 · 2101 阅读 · 1 评论 -
php-fpm开启报错-ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock
在升级了php7.2.0版本之后,重新启动php-fpm过程中遇到一个报错。 An another FPM instance seems to already listen on /tmp/php-cgi.sock# netstat -ant | grep 9000 //查看启动进程,发现没启动成功我们去查看一下php-fpm.conf里面的配置:vim /usr/loc...原创 2020-02-29 19:53:34 · 4582 阅读 · 0 评论 -
php7安装执行configure报错error: off_t undefined; check your library configuration
vim /etc/ld.so.conf #添加如下几行/usr/local/lib64/usr/local/lib/usr/lib/usr/lib64 #保存退出:wqldconfig -v # 使之生效原创 2020-02-02 11:42:46 · 1879 阅读 · 0 评论 -
php-7.3.13 configure: error: Please reinstall the libzip distribution
wget https://libzip.org/download/libzip-1.5.2.tar.gztar -zxf libzip-1.5.2.tar.gzcd libzip-1.5.2mkdir buildcd build cmake ..make -j4make install一般出现这个-bash: make: command not found提示...原创 2020-02-02 10:25:51 · 3317 阅读 · 0 评论 -
php-fpm开启报错-ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock
在升级了php7.3.2版本之后,重新启动php-fpm过程中遇到一个报错。 An another FPM instance seems to already listen on /tmp/php-cgi.socknetstat -ant | grep 9000 //查看启动进程,发现没启动成功我们去查看一下php-fpm.conf里面的配置:vim /usr/lo...原创 2020-01-01 23:10:42 · 2956 阅读 · 0 评论 -
PHP7.3中fileinfo怎么安装与开启
摘要:安装lumen时创建项目时报错,需开启fileinfo操作方法如下:cd /usr/local/src/php-7.3.13/ext/fileinfo/usr/local/php/bin/phpize编译安装./configure --with-php-config=/usr/local/php/bin/php-configmake && ma...原创 2019-12-29 22:18:22 · 3096 阅读 · 0 评论 -
CentOS7 php7.0 升级到php7.3
不要问我为什么要升级,我不是运维。如果你也不是运维的话,而且是公司的服务器的话,那你还是要慎重啊,我他么的就这样填了一天的坑,简单记录一下这坑爹的一天备份之前的php7.0(这很重要,非常重要)如果这一步没有做的话,直接升级,我敢确定90% 你服务器就挂了,至于为什么呢,因为你之前的配置都没有了呗,而新安装的php7.3 配置是新的,没有了各种扩展,你服务器怎么跑起来。当然如果你什么...原创 2019-12-29 14:51:50 · 2950 阅读 · 0 评论 -
安装PHP7.3.2make编译出现报错,内存不足导致,临时解决方法
错误现象:cc: Internal error: Killed (program cc1)...大体上是因为内存不足,临时使用交换分区来解决吧sudo dd if=/dev/zero of=/swapfile bs=64M count=16sudo mkswap /swapfilesudo swapon /swapfile编译完成,可以取消交换分区:sudo swa...原创 2019-12-02 23:26:43 · 1016 阅读 · 0 评论 -
阿里云centos7.6安装php7.3的详细教程
本篇文章给大家带来的内容是关于阿里云centos7.6安装php7.3的详细教程,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。新增用户 用户组groupadd wwwuseradd -g www www下载 phpwget "https://downloads.php.net/~cmb/php-7.3.0.tar.gz"tar xzvf ...原创 2019-12-02 00:32:47 · 1401 阅读 · 1 评论 -
PHP 7 新特性
PHP 7+ 版本极大地改进了性能,在一些WordPress基准测试当中,性能可以达到PHP 5.6的3倍。PHP 7+ 版本新加特性如下表所示:一、PHP 标量类型与返回值类型声明标量类型声明默认情况下,所有的PHP文件都处于弱类型校验模式。PHP 7 增加了标量类型声明的特性,标量类型声明有两种模式:强制模式 (默认) 严格模式标量类型声明语法格式:decla...原创 2019-10-28 00:46:34 · 747 阅读 · 0 评论 -
php.ini Xdebug配置
在此记录:xdebug.profiler_output_dir="D:\phpStudy\tmp\xdebug"xdebug.trace_output_dir="D:\phpStudy\tmp\xdebug"zend_extension="D:\iphpStudy\php\php-5.6.27-nts\ext\php_xdebug.dll"xdebug.profiler_enab...原创 2018-07-08 19:27:52 · 1365 阅读 · 0 评论 -
PHP获取今天,昨天,本月,上个月,本年 起始时间戳
date_default_timezone_set("Asia/Shanghai"); //设置为上海时间 否则开始时间会相差8个小时 //获取今日开始时间戳和结束时间戳$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))...原创 2018-09-14 18:54:05 · 1653 阅读 · 1 评论 -
PHP-Trie树应用
一、Trie树简介什么是Trie树? Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。...原创 2019-05-19 11:04:16 · 837 阅读 · 0 评论