【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器
问题描述 在App Service for linux上创建一个PHP应用,通过 phpinfo() 查看PHP的扩展设置,发现JIT没有被开启, jit_buffer_size 大小为0. 那么,在App Service的环境中,如何开启JIT呢? 问题解答 ...[2023/8/18]
PHP while 循环
PHP while 循环在指定条件为 true 时执行代码块。 PHP 循环 在您编写代码时,经常需要反复运行同一代码块。我们可以使用循环来执行这样的任务,而不是在脚本中添加若干几乎相等的代码行。 在 PHP 中,我们有以下循环语句: while - 只要指定条件为真,则循...[2023/7/26]
PHP Switch 语句
switch 语句用于基于不同条件执行不同动作。 Switch 语句 如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。 使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。 语法 switch (expre ion) { case label...[2023/7/26]
PHP前后端交互
PHP是现如今十分流行的轻量级语言,经常用来做应用的后端开发,其特点是语法简单,十分容易上手。除了单独做后端,PHP还能够将程序嵌入到HTML文件中执行,非常容易实现简单的前后端交互。而且PHP的运行很轻松,只要下载PHP环境并打开服务,就能通过访问文件的形式执行PHP文件,并且获得其返回的数据了...[2023/5/10]
PHP的序列化和反序列化入门
PHP序列化 什么是PHP序列化 serialize() 将一个对象转换成一个字符串 unserialize() 将字符串还原成一个对象 通过序列化与反序列化我们可以很方便的在PHP中进行对象的传递。本质上反序列化是没有危害的。但是如果用户对数据可控那就可以利用反序列化构造p...[2023/3/27]
关于Thinkphp6的日志问题
目录Thinkphp6的日志问题设置日志记录级别单一日志独立日志日志的写入时机日志通道Thinkphp6异常处理与日志异常处理日志手动记录日志关闭日志总结 Thinkphp6的日志问题 日志级别 debug, info, notice, warning, error, critical, a...[2023/3/24]
thinkphp(php)插件钩子(hooks)分析的简单实现机制
目录前言举例说明钩子的简单实现代码钩子核心类Hook.php:简单的插件demo:插件实现的地方,即上文的注册的文件:入口文件index.php运行接口如下:总结 现在主流的cms或者blog等系统中,都内置的有插件系统,但是层层深入、剖析实现的方式,其实都是最简单的钩子的复杂化的实现。 前言 ...[2023/3/14]
PHP使用Swagger生成好看的API文档
目录一、安装swagger-php二、设置一个输出api文档数据的接口三、使用四、显示swagger ui PHP使用Swagger生成好看的API文档不是不可能,而是非常简单。 首先本人使用Laravel框架,所以在Laravel上安装swagger-php。 一、安装swagger-ph...[2023/2/17]
详解PHP实现HTTP服务器过程
目录原生Socket编程流行项目Workerman系Swoole系ReactPHP系AMPHP系swow总结 PHP并非不能实现HTTP服务,一般来讲,这叫网络编程或Socket编程。在学习到其他语言的这部分的时候,一般的思路就是如何监听TCP实现一个服务器,并处理HTTP协议。 PHP也可以这...[2023/2/17]
Laravel操作session和cookie的教程详解
目录一:操作se ion1:se ion配置2:设置se ion3:获取se ion4:删除se ion5:重新生成 Se ion ID二:操作cookie1:设置cookie2:获取cookie3:删除cookie 一:操作se ion 1:se ion配置 Se ion 的配置文件存储在...[2023/2/10]
高效率开发Web安全扫描器之路(一)
一、背景 经常看到一些SRC和CNVD上厉害的大佬提交了很多的漏洞,一直好奇它们怎么能挖到这么多漏洞,开始还以为它们不上班除了睡觉就挖漏洞,后来有机会认识了一些大佬,发现它们大部分漏洞其实是通过工具挖掘的,比如说下面是CNVD上面的白帽子大佬 我想成为大佬要怎么做 我一直觉得自己是一个有...[2022/12/2]
PHP实现微信扫码登录功能的两种方式总结
官方文档 微信扫码登录目前有两种方式: 1:在微信作用域执行 ,就是条一个新页面 前端点击一个按钮,请求后端接口条微信作用域 后端php代码如下: $redirect_uri="http: 你的微信开放平台绑定域名下处理扫码事件的方法"; $redirect_uri...[2022/8/23]
PHP内存溢出的解决方法详解
目录1.处理数组时出现内存溢出2.使用sql查询数据,查出来很多,导致内存溢出3.假定日志中存放的记录数为500000条,那么解决方案如下4.上传excel文件时,出现内存溢出的情况 什么是内存溢出 内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机...[2022/7/19]
PHP试题之RCEService正则回溯解答
打开题目输入JSON类型的cmd后,尝试读取index.php的源代码,但是读取不出来,并且扫后台出来的/index以及/index/login也没有任何东西,实在不知道怎么做了,只能看一下别人的wp,发现别人以来都是审查源码,我就奇怪了,源码怎么弄来的,看了很多wp发现应该是比赛的时候直接...[2022/4/11]
PHP开发框架laravel代码提示示例解析
public function getTable() { return $this->table ?? Str::snake(Str::pluralStudly(cla _basename($this))); } cla _basename 拿到实例对应的类名 plu...[2022/4/11]
php反引号与短标签脚本示例
<?php error_reporting(0); highlight_file(__FILE__); function check($input){ if(preg_match("/''| |_|php|;|~|\\^|\\+|eval|{|}/i",$input)){ ...[2022/4/11]
PHP文件上传利用的常见函数总结大全
目录前言1.deldot2.in_array3.intval4.strrchr5.strtolower6.strrpos7.str_ireplace8.strstr9.substr10.trim附PHP文件上传处理参考资料总结 前言 收集了几个在文件上传利用中常见的函数。 对这些函数的深入理...[2022/3/2]
php如何利用ffmpeg获取视频第一帧为缩略图
目录phpffmpeg获取视频缩略图1.环境2.centos7安装ffmpeg3.项目安装ffmpeg包4.php代码附Fmpeg读取视频信息总结 php ffmpeg获取视频缩略图 1.环境 centos 7ffmpeg version 2.8.15 Copyright 2.centos...[2022/3/2]
PHP如何从txt文件中读取数据详解
目录一、打开/关闭文件二、读写文件1、读取整个文件2、读取一行数据3、读取一个字符4、读取任意长度的字符串总结 一、打开/关闭文件 1、对文件操作时首先要打开文件,打开文件用 fopen()函数,语法是: fopen(filename,mode,include_path,cont...[2022/3/1]
Laravel 使用 maatwebsite/excel 时长数字出现科学计数法的解决办法
在使用 maatwebsite/excel 包导出Excel的时候,有的单元格里会存放手机号等一大串的数字,这一串数字会被Excel软件处理为科学计数法,在后续处理数据的时候会产生不小的麻烦,一个个去调会很麻烦,有幸在度娘上搜到了一个方法,奈何原网站打不开了,所以在这里记录一下这个问题的解决办法...[2022/1/17]
>Bagging
#--------------------------------|--------------------------------------------------------------------------# -Bagging(袋装)思想: -分类任务:简单投票法,K个...[2021/12/31]
PHP5-7 结合文档 可能会使用到的新特性 个人总结
PHP 5-7: 1.改进的性能 - PHPNG代码合并在PHP7中,这是比 PHP5快两倍 - 待展开 2.降低内存消耗 - 优化后PHP7使用较少的资源 - 待展开 PHP7使用新的 Zend Engine 3.0 提高应用程序性能两倍,比PHP5.6 低了 50% 的内存消耗。 它...[2021/12/20]
PHP基础用法讲解及phpinfo();演示
在这个abc.php文件中写入如下代码。 <?php phpinfo(); ?> 你将会看到一个网页,网页内容通常,如下图所示: 用中文翻译这句话给你听 <?php phpinfo(); ...[2021/12/17]
Laravel框架一对一模型关联 用户、角色
众所周知 模型关联是我们在做项目的时候会经常使用到的一个功能 laravel 就为我们提供了 简单又高效的 模型关联的方法 下面我来简单的介绍一下 这些方法 下面我举的例子为 hasOne 数据库里 有一张 shop_manage_user&nb...[2021/12/15]
PHP如何删除关联数组中键值
1、使用unset()函数可以用于取消设置关联数组中的键及其值。 声明关联数组 $arr = array( "1" => "加", "2" => "减", "3" => "乘", "4" => "除" ); ...[2021/8/26]
PHP之修改php.ini文件上传大小的配置问题案例讲解
php.ini php.ini文件保存了php的一些重要属性,例如现在要说的文件上传的一些限制条件,关于php.ini,有一篇很好的介绍:php.ini文件详解,在Windows系统中编写php的时候,我们一定见过这个画面(来源百度): 在这个网页我们就可以看到圈起来的部分标明了php...[2021/8/4]
php之php.ini配置文件讲解案例
[PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化, ; 在使用新的PHP版本前,研究一下php.ini会有好处的 ;;;;;;;;;;;;;;;;;;; ; 关于这个文...[2021/8/4]
php之Aes加密案例讲解
在项目中,尤其是pc端的时候,我们在用户登录后会给前端返回一个标识,来判断用户是否登录,这个标识大多数都是用户的id ...[2021/8/4]
php之深入理解架构布局讲解
本文基于《PHP 内核剖析》与 《PHP7底层设计与源码实现》所记笔记。 对PHP内核的深入理解有助于我们对PHP的整体认识,对于业务层初期发展我们可以只了解基本语言的逻辑就可以写出符合业务的代码,但是随着业务的发展我们通过分析源码,编写扩展,深入了解PHP内部机制,帮助我们理解PHP内部实...[2021/8/4]
php之app消息推送案例教程
如何用php实现APP消息推送 现在有很多的消息推送厂商,比如阿里云的消息推送,极光推送,融云的消息推送。他们的原理都是把sdk内置在app里面,达到消息推送的目的,通过一张图来了解一下,看不懂不要紧,理解大概的过程就行 实现 进入极光官网,注册一个app应用 ...[2021/8/4]
如何解决php domdocument找不到的问题
具体问题: php - 找不到 ''DOMDocument''类 我在Magento应用程序的页面上发现错误;当我访问它时,它总是显示此消息错误: Fatal error: Cla ''DOMDocument'' not found in /home/.../lib/Zend/Fe...[2021/7/26]
php文件下载后无法打开的处理方案及代码
PHP下载图片后文件打开显示损坏问题 用php写个图片下载方法,测试发现下载的图片大小都没问题,但是无法打开文件。 解决方法如下: 首先打开文件下载代码,增加 ob_clean(); flush(); 完整下载图片代码 if(i et($_GET[''...[2021/7/19]
php 文件上传至OSS及删除远程阿里云OSS文件
删除的时候记住不要带域名,也不要带''/''这个路径符号,如全路径是:''https: hxty.o -cn-beijing.aliyuncs.com/data/pdf/contract/2021-06-16/HXSHB21061611594482340c.pdf'',则这里的path_file路...[2021/7/5]
PHP中的MySQLi扩展学习(一)MySQLi介绍
关于 PDO 的学习我们告一段落,从这篇文章开始,我们继续学习另外一个 MySQL 扩展,也就是除了 PDO 之外的最核心的 MySQLi 扩展。可以说它的祖先,也就是 MySQL(原始) 扩展是我们很多人刚开始学习 PHP 时连接数据库的入门导师。不过随着时代的变迁,MySQL(原始) 扩展在...[2021/6/28]
PHP中的MySQLi扩展学习(二)mysqli类的一些少见的属性方法
虽说是少见的一些属性方法,但是可能还是有不少同学在日常的开发中使用过,这里只是学习了可能相对来说我们用得比较少的一些 mysqli 的属性或方法。就当是扩展一下自己的知识体系。 切换用户 首先就是切换一下当前连接数据库的用户。 切换用户 $mysqli->change_user('...[2021/6/28]
PHP中的MySQLi扩展学习(三)mysqli的基本操作
我们继续 MySQLi 扩展的学习,上篇文章中提到过,MySQLi 的扩展相对于 PDO 来说功能更加的丰富,所以我们依然还会在学习过程中穿插各种 MySQLi 中好玩的方法函数。不过,今天的主角是 MySQLi 中如何执行 SQL 语句以及多条 SQL 语句的执行。 连接与选择数据库 首先是...[2021/6/28]
PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句
对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本。我们之前也已经学习过了 PDO 中关于事务和预处理语句相关的内容。所以在这里,我们就不再多讲理论方面的东西了,直接上代码来看看 MySQLi 中这两大特性与 PDO 在使用上的区别。 事务处理 首...[2021/6/28]
PHP中的MySQLi扩展学习(五)MySQLI_STMT对象操作
就像 PDO 中的 PDO_Statment 对象一样,MySQLI_STMT 对象也是一个预处理语句所形成的对象,专门用来操作 MySQLi 所生成的预处理语句的。其实操作方式之类也都比较相似,不外乎以绑定参数为主的一些针对 SQL 语句和获取结果集的操作。 参数绑定及操作属性 之前的文章中...[2021/6/28]
PHP中的PDO操作学习(二)预处理语句及事务
今天这篇文章,我们来简单的学习一下 PDO 中的预处理语句以及事务的使用,它们都是在 PDO 对象下的操作,而且并不复杂,简单的应用都能很容易地实现。只不过大部分情况下,大家都在使用框架,手写的机会非常少。 预处理语句功能 预处理语句就是准备好一个要执行的语句,然后返回一个 PDOStatem...[2021/6/21]
PHP中的PDO操作学习(三)预处理类及绑定数据
要说 PDO 中最强大的功能,除了为不同的数据库提供了统一的接口之外,更重要的就是它的预处理能力,也就是 PDOStatement 所提供的功能。因为它的存在,才让我们可以安心地去使用而不用操心 SQL 语句的拼接不好所带来的安全风险问题。当然,预处理也为我们提升了语句的执行效率,可以说是 PD...[2021/6/21]
PHP中的PDO操作学习(四)查询结构集
关于 PDO 的最后一篇文章,我们就以查询结果集的操作为结束。在数据库的操作中,查询往往占的比例非常高。在日常的开发中,大部分的业务都是读多写少型的业务,所以掌握好查询相关的操作是我们学习的重要内容。和 mysqli 一样,PDO 对于查询的支持也是非常方便快捷的,通过几个函数就可以非常方便高效...[2021/6/21]
PHP中使用PDO操作事务的一些小测试
关于事务的问题,我们就不多解释了,以后在学习 MySQL 的相关内容时再深入的了解。今天我们主要是对 PDO 中操作事务的一些小测试,或许能发现一些比较好玩的内容。 在 MyISAM 上使用事务会怎么样? 首先,相信只要是学过一点点的 MySQL 相关知识的人都知道,在 MySQL 中常用的两...[2021/6/21]
PHP中PDO关闭连接的问题
在之前我们手写 mysql 的连接操作时,一般都会使用 mysql_close() 来进行关闭数据库连接的操作。不过在现代化的开发中,一般使用框架都会让我们忽视了底层的这些封装,而且大部分框架都已经默认是使用 PDO 来进行数据库的操作,那么,大家知道 PDO 是如何关闭数据的连接的吗? 官方说...[2021/6/21]
php类中static与self的使用区别浅析
使用 self:: 或者 __CLASS__ 对当前类的静态引用,取决于定义当前方法所在的类: 使用 static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。 静态绑定是PHP 5.3.0,增加的一个功...[2021/6/21]
学习PDO中的错误与错误处理模式
在 PDO 的学习过程中,我们经常会在使用事务的时候加上 try...catch 来进行事务的回滚操作,但是大家有没有注意到默认情况下 PDO 是如何处理错误语句导致的数据库操作失败问题呢?今天,我们就来学习一下。 PDO 中的错误与错误处理模式简介 PDO 提供了三种不同的错误处理方式: ...[2021/6/15]
PDO操作大数据对象
一般在数据库中,我们保存的都只是 int 、 varchar 类型的数据,一是因为现代的关系型数据库对于这些内容会有很多的优化,二是大部分的索引也无法施加在内容过多的字段上,比如说 text 类型的字段就很不适合创建索引。所以,我们在使用数据库时,很少会向数据库中存储很大的内容字段。但是,MyS...[2021/6/15]
PHP的DBA扩展学习
今天我们讲的 DBA 并不是传统的数据库管理员那个 DBA ,而是一个 PHP 中的巴克利风格数据库的扩展。巴克利风格数据库其实就是我们常说的键值对形式的 K/V 数据库。就像我们平常用得非常多的 memcached 或者 redis 那样,只是一个键和一个值对应,不过 memcached 它们...[2021/6/15]
PHP的Sodium加密扩展函数了解
这是本次加密扩展系列的最后一篇文章,也是我们要学习了解的最后一个 PHP 加密扩展。Sodium 出现的目的也是为了代替 Mcrypt 这个原来的加密扩展。在 PHP7.2 之后,Mcrypt 已经被移除,在 PHP7.1 时就已经被标记为过时。不过,Sodium 扩展的应用也并不是很多,大部分...[2021/6/15]
PHP中操作数据库的预处理语句
今天这篇文章的内容其实也是非常基础的内容,不过在现代化的开发中,大家都使用框架,已经很少人会去自己封装或者经常写底层的数据库操作代码了。所以这回我们就来复习一下数据库中相关扩展中的预处理语句内容。 什么是预处理语句? 预处理语句,可以把它看作是想要运行的 SQL 语句的一种编译过的模板,它可以...[2021/6/15]
PHP中的数组分页实现(非数据库)
在日常开发的业务环境中,我们一般都会使用 MySQL 语句来实现分页的功能。但是,往往也有些数据并不多,或者只是获取 PHP 中定义的一些数组数据时需要分页的功能。这时,我们其实不需要每次都去查询数据库,可以在一次查询中把所有的数据取出来,然后在 PHP 的代码层面进行分页功能的实现。今天,我们...[2021/6/15]