php
文章平均质量分 57
gb4215287
这个作者很懒,什么都没留下…
展开
-
laravel框架应用和composer扩展包开发
laravel5.5+laravel官方地址laravel是目前最流行的php框架,发展势头迅猛,应用非常广泛,有丰富的扩展包可以应付你能想到的各种应用场景,laravel框架思想前卫,跟随时代潮流,提倡优雅代码,自称为“web工匠”,其中的route、blade模板引擎、console、容器以及composer扩展包为业务的开发提供了极大的便利。国内目前已经有众多的laravel社区,比如laravel-china golaravel laravelacademy当然还有更多可供开发转载 2021-02-04 11:34:10 · 508 阅读 · 0 评论 -
PHP实现带重试功能的curl连接示例
这篇文章主要介绍了PHP实现带重试功能的curl连接方法,结合实例形式分析了php使用curl实现重复连接的方法,需要的朋友可以参考下本文实例讲述了PHP实现带重试功能的curl连接方法。分享给大家供大家参考,具体如下:/*** @param string $url 访问链接* @param string $target 需要重试的标准: 返回结果中是否包含$target字符串* @param int $retry 重试次数, 默认3次* @param int $sleep 重试间...转载 2021-02-01 17:39:25 · 477 阅读 · 0 评论 -
平滑重启更新(GR机制)
什么是平滑启动机制是一种在协议重启时保证转发业务不中断的机制。什么时候用到平滑重启平滑重启一般应用于业务更新或者版本发布过程中,能够避免因为代码发布重启服务导致的暂时性服务不可用的影响。ngnix 平滑重启和平滑更新Nginx的进程分为master主进程和work工作进程,master进程主要管理事件信号接受和分发,所有的请求处理都由work进程处理并返回结 果,Nginx的平滑重启或重载配置文件等升级,首先是向master发送重启或重载配置文件信号,然后master告诉所有的work进程不转载 2021-01-26 15:44:37 · 278 阅读 · 0 评论 -
【php】使用gdb调试php程序
1、简介GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。同时GDB也具有例如ddd这样的图形化的调试端2、调试C/C++程序直接上代码了 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18转载 2020-12-25 15:33:37 · 443 阅读 · 0 评论 -
正则表达式中小括号()的作用是什么
在正则表达式中,小括号是一个特别重要的结构,下面就通过简单的代码实例介绍一下它的作用。一.分组的作用:这个和算术运算中的小括号是一样的,那就是进行简单的分组。在小括号中的内容可以被做一个整体进行处理,代码实例如下:[JavaScript] 纯文本查看 复制代码 1 2 3 var reg=/(ab){2}/; var str="ababantzone"; console.log(reg.test(str)) .转载 2020-12-07 10:39:52 · 8507 阅读 · 0 评论 -
推荐php 8新特性比较好的两个网站
官网:https://www.php.net/releases/8.0/zh.php?lang=zh鸟哥的博客:https://www.laruence.com/2020/06/27/5963.html https://www.laruence.com/2020/06/12/5902.html原创 2020-12-02 09:42:08 · 172 阅读 · 0 评论 -
PHP 8 发布了
PHP 8.0 是 PHP 语言的一个主版本更新。它包含了很多新功能与优化项, 包括命名参数、联合类型、注解、构造器属性提升、match 表达式、nullsafe 运算符、JIT,并改进了类型系统、错误处理、语法一致性。1. 命名参数RFC在php7 中:htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);1 2在php8 中:htmlspecialchars($string, do...转载 2020-12-02 09:37:03 · 163 阅读 · 0 评论 -
PHP魔法函数性能分析
前言曾经记得鸟哥Laruence提过不建议使用"魔术方法",自此之后一旦涉及使用魔术方法的地方,我都会下意识的想一下,这样写真的好吗?由于这一到两年来一直忙于工作和学习新的知识,所以在这道坎儿上一直没有做深入的探索一直恍恍惚惚过去了,今年是我进行深入学习的一年,因此现在必须对这个问题做个了结了。我们先来看看鸟哥Laruence博客曾经提到的:当我把PPT分享给公司的同事的时候, 会有人质疑, 魔术方法都不让用?优化的建议, 是建议, 是防止大家滥用, 肆无忌惮的用. 如果你能在写代码的时候, 能意转载 2020-09-27 15:45:14 · 160 阅读 · 0 评论 -
mysql高并发下主键冲突
事情是这样的,博主刚刚写完一个小项目,由于使用的量比较大,所以做了一下压测,在插入数据的时候报出了如下错误 :[http-bio-****-exec-67] DEBUG c.j.m.a.d.A.insertAppUser!selectKey - ==> Parameters:org.springframework.dao.DuplicateKeyException:### Error updating database. Cause: com.mysql.jdbc.exceptions...转载 2020-09-27 11:44:37 · 1377 阅读 · 0 评论 -
MySQL自增字段并发插入导致死锁
MySQL带自增字段的表在并发插入时发生死锁问题'int' object has no attribute 'encode'", <class 'mysql.connector.errors.InternalError'>, (1213, '1213 (40001): Deadlock found when trying to get lock; try restarting transaction', u'40001'))1tbl_a有一个自增字段id(PRI,auto_in转载 2020-09-27 11:43:24 · 1547 阅读 · 0 评论 -
Mysql自增列,并发插入时导致死锁的问题
背景: 有一张表需要每天定时迁移数据,采用的SQL如下(表名已调整) insert into data_cache ( customerID,organizationID,createTime) ( select customerID,organizationID,createTime from data转载 2020-09-27 11:41:48 · 863 阅读 · 0 评论 -
PHP中使用redis 执行lua脚本
在php中,可以通过redis执行lua脚本1、脚本 <?php $redis = new Redis(); #实例化redis类 $redis->connect('127.0.0.1'); #连接服务器 $lua = <<<SCRIPT return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]} SCRIPT; //对应的redis命令如下 eval "return {..转载 2020-09-22 18:09:51 · 717 阅读 · 0 评论 -
php7.0支持调用lua脚本
需求前瞻: 最近因需求,需要支持php调用现有的Lua代码,可以减少php的代码量,同时在维护上也比较方便,不会照成需求变更,需要同时修改两份代码第一步:安装php7.0及以上版本,此处安装方法就略过第二步: 官网下载最新lua安装包5.3.3 www.php.net官网搜索lua,下载php对应的lua包 http://php.net/manual/zh/book.lua.php 此处有详细的安装说明 切记php、lua、php的lua扩展包,这三个包的必须..转载 2020-09-22 18:08:38 · 899 阅读 · 0 评论 -
浅析php-fpm静态和动态执行方式的比较
这篇文章主要介绍了php-fpm静态和动态执行方式的比较,较为详细的分析了php-fpm静态和动态执行方式的原理、参数功能与相关使用技巧,需要的朋友可以参考下本文实例讲述了php-fpm静态和动态执行方式的比较。分享给大家供大家参考,具体如下:前段时间配置php-fpm的时候,无意间发现原来他还有两种执行方式。与Apache一样,他的进程数也是可以根据设置分为动态和静态的。而php-fpm也是同样存在两种方式,一种是直接开启指定数量的php-fpm进程,不再增加或者减少;另一种则是开始的时候开启转载 2020-09-22 15:36:04 · 282 阅读 · 0 评论 -
http三次握手四次挥手详解
相对于SOCKET开发者,TCP创建过程和链接折除过程是由TCP/IP协议栈自动创建的.因此开发者并不需要控制这个过程.但是对于理解TCP底层运作机制,相当有帮助.而且对于有网络协议工程师之类笔试,几乎是必考的内容.企业对这个问题热情之高,出乎我的意料:-)。有时上午面试前强调这个问题,并重复讲一次,下午几乎每一个人都被问到这个问题。因此在这里详细解释一下这两个过程。TCP三次握手所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个转载 2020-09-22 15:01:19 · 3258 阅读 · 0 评论 -
HTTP 协议的三次握手
HTTP 协议的三次握手HTTP(Hypertext Transfer Protocol):超文本传输协议TCP(Transmission Control Protocol):传输控制协议1、HTTP协议和TCP/IP协议的区别?答:TCP/IP协议是传输层协议,主要解决数据如何在网络中传输。而HTTP是应用层协议,主要解决如何包装数据。Web使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP作传输层协议将它发送到网络上。HTTP协议的七层协议如下:..转载 2020-09-22 14:52:07 · 352 阅读 · 0 评论 -
深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway(亲测)
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止。Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI。解决这两个问题其实是需要综合思考的,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关,而Nginx 504 Gateway Time-out则是与nginx.conf的设置有转载 2020-09-18 14:11:51 · 444 阅读 · 0 评论 -
命令行执行php脚本中的$argv和$argc配置方法
这篇文章主要介绍了命令行执行php脚本 中$argv和$argc的方法,本文给大家介绍的非常详细,需要的朋友可以参考下在实际工作中有可能会碰到需要在nginx命令行执行php脚本的时候,当然你可以去配置一个conf用外网访问。在nginx命令行中 使用php index.php就可以执行这个index.php脚本了,但是怎么传递参数呢?那就要用到$argv和$aegc了。不用开启什么设置 直接在脚本中使用,类似于http传值中的$_POST和$_GET.。在index.php插入以下菜吗转载 2020-09-17 11:07:40 · 550 阅读 · 0 评论 -
PHP.ini 中的错误提示
display_errors = On //开启显示错误error_reporting可以设置的参数,如下:错误报告是位字段。可以将数字加起来得到想要的错误报告等级。E_ALL – 所有的错误和警告(不包括 E_STRICT)E_ERROR – 致命性的运行时错误E_WARNING – 运行时警告(非致命性错误)E_PARSE – 编译时解析错误E_NOTICE – 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)E_STRICT – 编码标准化警告,允许PHP建议转载 2020-06-04 11:30:18 · 228 阅读 · 0 评论 -
Linux下给PHP安装redis扩展
一、下载redis扩展源码包PHP官网下载地址:http://pecl.php.net/package/redis二、安装依赖插件yum -y install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl三、安装解压:tar -zxvf redis-4.2.0.tgz进入解压目录:cd redis-4.2.0用phpize生转载 2020-06-01 11:13:10 · 197 阅读 · 0 评论 -
浅谈php中使用websocket
在PHP中,开发者需要考虑的东西比较多,从socket的连接、建立、绑定、监听等都需要开发者自己去操作完成,对于初学者来说,难度方面也挺大的,所以本文的思路如下:1、socket协议的简介2、介绍client与server之间的连接原理3、PHP中建立socket的过程讲解4、用一个聊天室作为实例详细讲解在PHP中如何使用socket一、socket协议的简介 WebSocket是什么,有什么优点 WebSocket是一个持久化的协议,这是相对于http非持久化来说的。转载 2020-05-18 17:02:24 · 284 阅读 · 0 评论 -
通过nginx访问.html出现Access Denied提示怎么解决(亲测)
文件/usr/local/nginx/logs/error.logFastCGI sent in stderr: "Access to the script '/var/www/html//phpmyadmin/setup/styles.css' has been denied (see security.limit_extensions)"打开日志发现会出现security.limit_...转载 2020-04-29 14:03:37 · 1549 阅读 · 0 评论 -
php中 elseif和else if 的区别
写代码的时候发现else if和elseif都可以使用,两种语法都不会报错,他们的区别其实很小elseif与else if只有在类似下例中使用花括号的情况下才认为是完全相同。如果用冒号来定义if/elseif条件,那就不能用两个单词的else if,否则 PHP 会产生解析错误。也就是说,只要加上花括号,它们其实就没有区别, 如:if ($a > $b) ...转载 2020-04-19 14:33:18 · 295 阅读 · 0 评论 -
php7.3安装yaf扩展(亲测)
目前pecl官网的yaf版本是3.0.7,php7.3版本无法安装哦,需要到鸟哥的github上面去编译安装3.0.8版本https://github.com/laruence/yaf/releases直接pecl install yaf是3.0.7版本的,7.3版本的php是无法安装的哦,会报错误:/soft/yaf-3.0.7/yaf_session.c:97:31: erro...转载 2020-03-09 15:55:51 · 874 阅读 · 0 评论 -
php7.3安装yaf扩展
目前pecl官网的yaf版本是3.0.7,php7.3版本无法安装哦,需要到鸟哥的github上面去编译安装3.0.8版本https://github.com/laruence/yaf/releases直接pecl install yaf是3.0.7版本的,7.3版本的php是无法安装的哦,会报错误:/soft/yaf-3.0.7/yaf_session.c:97:31: erro...转载 2020-03-09 14:17:24 · 707 阅读 · 0 评论 -
去除tab、空格、回车符等使用replace语句
按照ASCII码,SELECT char(64)例如64 对应 @,则select REPLACE(‘abc@qq.com’,char(64),’kk’)则结果为 abckkqq.com依此类推,去掉其他特殊符号,参考ASCII码对照表,去掉tab符号为 select REPLACE(‘要替换的字符或列名’,char(9),’替换的目标字符’)去掉空格符号为 selec...转载 2019-12-20 15:47:06 · 1513 阅读 · 0 评论 -
浅析THINKPHP的addAll支持的最大数据量
这篇文章主要介绍了THINKPHP的addAll支持的最大数据量,需要的朋友可以参考下Thinkphp中的Model操作有两个方法:add()和addAll复制代码代码如下:$User = M("User"); // 实例化User对象$data['name'] = 'ThinkPHP';$data['email'] ='ThinkPHP@gmail.com';...转载 2019-11-26 10:02:05 · 364 阅读 · 0 评论 -
php 利用debug_backtrace方法跟踪代码调用
在开发过程中,例如要修改别人开发的代码或调试出问题的代码,需要对代码流程一步步去跟踪,找到出问题的地方进行修改。如果有一个方法可以获取到某段代码是被哪个方法调用,并能一直回溯到最开始调用的地方(包括调用的文件,行数,参数等),这样就能很方便的定位到出问题的地方。php的debug_backtrace方法可以对代码调用进行跟踪,方便调试代码。debug_backtrace 方法说明产生...转载 2019-10-23 11:28:07 · 199 阅读 · 0 评论 -
php 三元运算(?:)详解
三元运算符是软件编程中的一个固定格式,语法是“条件表达式? 表达式1:表达式2”。条件表达式成立,就是1的的值,反之,则是2的值<?php$action = (empty($_POST['action'])) ? 'default' : $_POST['action']?>相当于<?phpif (empty($_POST['action'])) { ...转载 2019-10-23 11:25:33 · 7374 阅读 · 0 评论 -
PHP扩展高性能日志系统SeasLog简单上手
Windows部分:--------------------------------------------------------https://pecl.php.net/package/SeasLog/1.6.9/windows根据PHP版本 是否线程安全 进行选择 这些都可以在phpinfo里查得到下载之后 把里面的php_seaslog.dll拷贝到PHP的安装目录下的...转载 2019-10-22 15:12:27 · 257 阅读 · 0 评论 -
如果Laravel 报错 file_put_contents(): failed to open stream
问题解决方法 执行命令php artisan cache:clear并赋予/storage文件夹读写权限:chmod -R 777 storage; 若在执行php artisan cache:clear时出现错误:Uncaught UnexpectedValueException: The stream or file "/storage/logs/laravel....转载 2019-10-18 18:02:41 · 331 阅读 · 0 评论 -
python与java、php、go的优势对比
看来关心这个问题的人比较多, 这里就重点细说一下:首先在讲解python的优势之前, 大家需要先将这里的语言进行一个分类, 这里我们按照动态语言和静态语言来分类:动态语言: python, javascript, php, ruby等静态语言: java, c, c++, go等注: 动态语言也经常被大家称为脚本语言, 由于经常被称为脚本语言, 所以大多数时候...转载 2019-10-16 12:30:18 · 1095 阅读 · 0 评论 -
一个高效、快速、稳定的PHP日志扩展。
SeasLogAn effective,fast,stable log extension for PHP@author Chitao.Gao [neeke@php.net]@交流群 312910117PHP手册English Document日志规范日志收集简介 为什么使用SeasLog 目前提供了什么 目标是怎样的 安装 编译安装...转载 2019-10-15 16:02:59 · 668 阅读 · 0 评论 -
php.ini中关于Session的配置
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/msllws/article/details/85232203【session.save_handler = files】Session存储处理器名字,默认为files(文件存储),还可以是memcache、redis等。...转载 2019-10-15 15:45:05 · 276 阅读 · 0 评论 -
PHP使用Zend Opcache之优化加速和缓存清理总结
简介字节码缓存不是php的新特性,有很多独立性的扩展可以实现缓存,比如PHP Cache(APC),eAccelerator,ionCube和XCache等等。但是到目前为止,这些独立的扩展并没有集成到php核心当中。所有在php5.5.0之后,php内置了字节码缓存功能,叫做Zend Opcache。zend Opcache前身是Zend Optimizer +,在03年改名Opcach...转载 2019-10-12 16:07:08 · 279 阅读 · 0 评论 -
opcache开启和关闭
来源:https://www.cnblogs.com/chenguoli/p/7607208.html查看opcache状态php -i |grep opcache// 结果如下,可以看出opcache.enable => On,处于开启状态Configure Command => './configure' '--prefix=/usr/local/php-fpm...转载 2019-10-12 16:05:57 · 1604 阅读 · 0 评论 -
PHP7开启opcache打造强悍性能
鸟哥在博客中说,提高PHP 7性能的几个tips,第一条就是开启opcache:记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快,所以之前测试时期就发生了有人一直没有启用Opcache的事情那么什么是Opcache呢?Opcache 的前生是Optimizer+,它是PHP的官方公司 Zend 开发的一款闭...转载 2019-10-12 16:04:41 · 161 阅读 · 0 评论 -
php使用mkdir创建多级目录入门例子
来源:http://www.jb51.net/article/49970.htm //echo "hello world"; //echo "yesorno"; /* function mkdirs($dir, $mode = 0777) { if (is_dir($dir) || @mkdir($dir, $mode)) return TRUE;转载 2015-12-10 00:45:10 · 930 阅读 · 0 评论 -
php 模拟mysql group by分组
$arrs = array( array('id'=>3,'year'=>2014,'month'=>6,'day'=>2,'name'=>'test1','money'=>10233,'rebate'=>111), array('id'=>7,'year'=>2017,'month'=>6,'day'=>2,转载 2015-12-01 00:36:09 · 2015 阅读 · 0 评论 -
利用PHP执行SQL文件,将SQL文件导入到数据库
来源:http://www.php100.com/html/dujia/2015/0919/8973.html[导读] 如何利用php自动执行 sql文件。其实很简单,就是获取sql文件中的内容,然后将每一句sql语句一次执行就行啦。如何利用php自动执行.sql文件。其实很简单,就是获取sql文件中的内容,然后将每一句sql语句一次执行就行啦。这是代码//读取文件内容转载 2016-02-04 17:52:14 · 1634 阅读 · 0 评论