PHP

ctfshow web入门 php特性 109-115

109-110 需要了解 PHP原生类 112-114 使用伪协议 重点 ​ 1、了解PHP原生类(内置类)、匿名类 ​ 2、了解伪协议、过滤器 ​ 3、了解引用赋值 ​ 4、了解超全局变量 ​ 5、了解 is_numeric() 与 trim() 缺点 web109 highlight_file( ......
特性 ctfshow 109 115 web

C++开发PHP扩展

前端时间用C开发PHP扩展,用C实现字符串和简单的cache不友好,因而有了用C++开发的想法。 相关环境初始化配置准备 1.用php源码提供的脚手架生成扩展名 php ext/ext_skel.php --ext yaoling_encrypt_plus ###2.修改生成的config.m4 P ......
PHP

2023年php面试题

Php面试题 1、isset和empty的区别? Isset测试变量是否被赋值,如果这个变量没被赋值,则返回false,empty是判断变量是否为空,当赋值为0,null,’’,返回true为真。他们之间最大的区别就是当一个变量被赋值0时,empty判断它为空,而isset判断它有值不为空。 2、e ......
2023 php

PHP AES 算法

PHP AES算法的通用函数: function aesEncrypt($data, $key, $iv) { $cipher = "aes-256-cbc"; $padding = OPENSSL_PKCS1_PADDING; $encrypted = openssl_encrypt($data, ......
算法 PHP AES

PHP 实现动态实时输出

#设置执行时间不限时 set_time_limit(0); #清除并关闭缓冲,输出到浏览器之前使用这个函数。ob_end_clean(); #控制隐式缓冲泻出,默认off,打开时,对每个 print/echo 或者输出命令的结果都发送到浏览器。ob_implicit_flush(1); header ......
实时 动态 PHP

centos7/centos8 PHP7.2/php7.3/php7.4 以上版本 源码安装 编译

yum update 1、 安装依赖包 [root@centos7_4 ~]# yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd libmcrypt libpng libpng-devel libjpeg ......
centos php7 php 源码 centos7

宝塔安装PHP8.0不成功的解决办法

使用宝塔安装PHP8.0的时候提示安装完成后,在软件列表里PHP8.0是正在安装和未安装执行死循环 错误提示:configure: error: Package requirements (libjpeg) were not met 查看错误提示路径:宝塔后台打开消息盒子,点击“执行日志”,这里会有 ......
宝塔 办法 PHP8 PHP

PHP7.3安装zip扩展

Wordpress需要zip扩展,早期安装的Php7.3是独立编译zip扩展,后续安装及升级是整合编译的,导致升级后会重复加载zip模块,为避免这个错误,后面的PHP就不再单独编译ZIP扩展了,ZIP 模块不再整合了,在宝塔面板配置中却没有安装ZIP扩展的选择,这样php7.3就会出现phpzip丢 ......
PHP7 PHP zip

eyoucms 去掉 index.php后缀

针对不同服务器、虚拟空间,运行PHP的环境也有所不同,目前主要分为:Nginx、apache、IIS以及其他服务器。下面分享如何去掉URL上的index.php字符,记得在管理后台清除缓存,对于一些ECS服务器可能要重启nginx等服务! 【Nginx服务器】 在原有的nginx重写文件里新增以下代 ......
后缀 eyoucms index php

php redis 悲观锁

悲观锁(Pessimistic Lock), 顾名思义,就是每次处理redis数据都以最悲观的场景展开,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都 ......
redis php

php 扩展 rabbitmq popt

首先是rabbitmq-c-master.tar.gz包, 可以访问https://github.com/alanxz/rabbitmq-c去下载最新的 wget https://github.com/alanxz/rabbitmq-c.gitwget https://github.com/alan ......
rabbitmq popt php

php 扩展kafka

一、安装librdkafka cd /usr/local/src/ git clone https://github.com/edenhill/librdkafka.git cd librdkafka ./configure make make install ln -s /usr/local/li ......
kafka php

php swoft 中的数据分层

不仅仅局限于 MVC 。将数据在model 这一个层面剖析开,优雅的处理数据 逻辑,缓存,业务,数据库操作的烦恼。 这个思路也适用于 thinkphp,hyperf,imi 等框架。不再简单的 实现 controller->model->view 的处理过程。 简化代码,每一层清晰地定义相应处理的数 ......
数据 swoft php

php kafka生产者,消费者操作

php7.2 kafka7.8.1 生产者代码 <?php $conf = new RdKafka\Conf(); $conf->setDrMsgCb(function ($kafka, $message) { file_put_contents("./dr_cb.log", var_export( ......
生产者 消费者 kafka php

Linux 上安装 MongoDB PHP 扩展

Linux 上安装 MongoDB PHP 扩展 在终端上安装 在 Linux 中执行以下命令来安装 MongoDB 的 PHP 扩展驱动 源码来编译扩展驱动。手动编译源码包,这样做的好是最新修正的 bug 包含在源码包中。 你可以在 PHP 官网上下载 MongoDB PHP 驱动包,下载地址:h ......
MongoDB Linux PHP

php容器 -- 控制反转 -- 依赖注入

容器 简介 Swoft 基于 PSR-11 规范设计了自己容器,并基于 注解 增强了它的功能。容器是 Swoft 最重要的设计,称得上是 Swoft 的核心精髓,也是 Swoft 各模块的实现基础。本章节将会对容器的相关基础知识做一个介绍,以便大家更好的理解容器。 前置知识 - IoC IoC 即控 ......
容器 php

swoft php 协程 性能优化

https://dy.163.com/article/E14KTSAC0511HSJK.html 原文章地址,传送门 因为看到韩天峰大佬的这个,协程那简直不要太酸爽。所以我也尝试一下。 服务器环境lnmp+swoole linux(centos7.4),(nginx1.14),(php7.2) 框架 ......
性能 swoft php

【笔记】使用 docker alpine 的 php 8.1 构建 FastAdmin 开发环境

使用 docker alpine 的 php 8.1 构建 FastAdmin 开发环境 首先最重要的是换源,换成清华的。 sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories 安 ......
FastAdmin 环境 笔记 docker alpine

php架构之路,phper进阶,学习路线

鉴于最近跟小伙伴聊了很多PHP架构发展方向的问题,相关技术整理了一下,也顺便规划了一下自己下年。【我的学习路线】 一.常用的设计模式以及使用场景 以下是我用到过的 工厂,单例,策略,注册,适配,观察者,原型,装饰器,facade,loc,pipeline 二.阅读一个框架源码 例如:laravel ......
架构 路线 phper php

php 如何实现 git diff

无意间想到这个问题,如何用php来实现git diff,如果实现了这个功能,岂不是能够使用php对在线编辑文件的功能做更进一步的优化和提升? 查了一下还真有这样的库,话不多说,开始执行 composer require --dev sebastian/diff 得到结果 Info from http ......
diff php git

php AES加密解密的例子

一共有两个文件:AES.php(aes算法类文件)和aesDemo.php(应用实例文件) aesDemo.php:例子, <?php require_once('./AES.php'); //$aes = new AES(); $aes = new AES(true);// 把加密后的字符串按十六 ......
加密解密 例子 php AES

如何在PHP7中扩展mysql,先安装php7.2。后安装mysql

相对与PHP5,PHP7的最大变化之一是移除了mysql扩展,推荐使用mysqli或者pdo_mysql,实际上在PHP5.5开始,PHP就着手开始准备弃用mysql扩展,如果你使用mysql扩展,可能看到过这样的提示”Deprecated: mysql_connect(): The mysql e ......
mysql PHP7 php7 PHP php

linux使用php动态安装模块mysqli.so(ext/mysqlnd/mysqlnd.h: 没有那个文件或目录)

由于我先安装的php,再安装的mysql! 正常过程: 1、安装mysql 2、安装php configure时带–with-mysql参数 现在我不想重装,因此使用phpize动态安装mysqli,php版本为php-7.2.13 1先查看php下phpize路径 得知路劲为/usr/local/ ......
mysqlnd 模块 文件 目录 动态

PHP消息队列实现及应用

目前对消息队列并不了解其原理,本篇文章主要是通过慕课网学习归纳的一些笔记,为后续学习打下基础。 众所周知在对网站设计的时候,会遇到给用户“群发短信”,“订单系统有大量的日志”,“秒杀设计”等,服务器没法处理这种瞬间迸发的压力,这种情况要保证系统正常有效的使用,就需要“消息队列”的帮助。本篇主要通过消 ......
队列 消息 PHP

php怎么实现web端上传超大文件

​ 前段时间做视频上传业务,通过网页上传视频到服务器。 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制;2,请求时间过长,请求超时;3,传输中断,必须重新上传导致前功尽弃; 解决方案: 1,修改服务端上传的限制配置;N ......
文件 php web

【环境搭建】docker+nginx部署PHP

目的 使用docker容器完成nginx的安装以及部署PHP网页 步骤 一、 安装nginx 1. 拉取Nginx镜像 docker pull nginx //拉取镜像 docker images //查看本地镜像 这里注意需要记一下nginx的IMAGE ID,我这里的ID是605c 2. 创建N ......
环境 docker nginx PHP

PHP获取一周的日期

function get_week($time = '', $format='Y-m-d'){ $time = $time != '' ? $time : time(); //获取当前周几 $week = date('w', $time); $weekname = array('周一','周二',' ......
日期 PHP

PHP组合数组,按照数组中的某个字段作为键,将数组重新进行组合

/** * 组合数组 * @param Date $data 数组 * @param Date $sort_by 排序字段 * @author liqiuyue */ function composite_array($data,$sort_by){ $target = array(); forea ......
数组 字段 PHP

php查找判断二维数组中是否含有某个值

$arr = array( array('a', 'b'), array('c', 'd') ); in_array('a', $arr); // 此时返回的永远都是 false deep_in_array('a', $arr); // 此时返回 true 值 function deep_in_ar ......
数组 php

php爬虫框架盘点

大数据分析必定少不了数据抓取,只有拥有海量的数据才能对数据进行对比分析。因此,网页爬虫是作为程序员必须要懂得技能,下文我将通过文字形式记录下php的爬虫框架的一些内容。 Goutte Goutte库非常有用,它可以为您提供有关如何使用PHP抓取内容的出色支持。基于Symfony框架,它提供了API来 ......
爬虫 框架 php