PHP
文章平均质量分 55
hgb24660
这个作者很懒,什么都没留下…
展开
-
记录了解php8-JIT
记录了解php8-JIT原创 2023-09-06 16:48:35 · 334 阅读 · 0 评论 -
php中nts和ts
PHP语言解析器:官方提供了2种类型的版本,线程安全(TS)版和非线程安全(NTS)版。原创 2023-08-11 18:51:06 · 978 阅读 · 0 评论 -
window操作php和java使用--php/java bridge
环境:jdk:https://www.cnblogs.com/evolve/archive/2019/11/11/11837869.htmlphp-java-bridge:http://php-java-bridge.sourceforge.net/pjb/download.php --下载完整JavaBridge.warApache Tomcat服务器:https://tomcat.apache.org/案例1使用JavaBridge.jar库 中内置了一个简单的 HTTP 服务器...原创 2022-01-22 09:47:11 · 566 阅读 · 0 评论 -
php8练习
match表达式<?php//1// $request_method = "post";// $status = match($request_method) { // 'post' => "post", // 'get', 'head' => "get_head", // default => throw new \Exception('Unsupported'), // };// var_dump($status);//2// class test1原创 2022-01-11 10:27:06 · 334 阅读 · 0 评论 -
php使用curl请求和json,xml,yaml解析,二进制传输数据
JSON://控制器的方法 验证接收请求,返回json字符串/** * @return string */public function ttt_json(){ $result = array("method" => null); if($_SERVER['REQUEST_METHOD'] == 'GET' ? true : false){ $result = array("method" => "GET","data" =>原创 2021-11-25 17:35:34 · 1008 阅读 · 0 评论 -
记录php-面试
Redis持久化Redis”3“种持久化方式:RDB,AOF,RDB-AOF混合1.RDB:简单来说,对Redis做一个快照(利用fork)保存在磁盘上优点: - 结构紧凑体积小,加载速度快(相比AOF) - 可以做定期备份缺点: - 动作大、消耗大:全量操作对于磁盘、CPU、内存等均有消耗 - 无法做到"实时"备份 - 格式多变(Redis 3 4 5 6版本多次修改)2.AOF:简单说把Redis的每条写操作记录到日志中,例如set hello world优点:- RESP原创 2021-08-11 09:51:36 · 428 阅读 · 1 评论 -
php使用whoops调试库
使用Composer将Whoops安装到您的项目中:composer require filp/whoops在代码中注册并使用:$whoops = new \Whoops\Run;$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);$whoops->register();简单案例:require './vendor/autoload.php';$whoops = new \Whoops\Run;$whoo原创 2021-05-18 17:33:46 · 186 阅读 · 0 评论 -
简单使用PHPDocumentor为自己的代码生成文档
PHPDocumentor 是一个用PHP写的工具, 对于有规范注释的php程序, 它能够快速生成具有相互参照,索引等功能的API文档.1,PHPDocumentor安装:(方式一)通过下载PHARhttps://phpdoc.org/phpDocumentor.phar或下载从特定版本 https://github.com/phpDocumentor/phpDocumentor/releases。得到 phpDocumentor.phar 文件,(需要大于7.2.1的php才能运行)2,简单测原创 2021-05-09 17:49:08 · 243 阅读 · 0 评论 -
elasticsearch-php使用案例(二)拼音,ik分词
需要下载对应elasticsearch版本的IK分词器和拼音分词器IK分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ikpinyin分词器下载地址:https://github.com/medcl/elasticsearch-analysis-pinyin/releases放到elasticsearch\plugins目录下require './vendor/autoload.php';use Elasticsearch\Cl.原创 2021-05-05 15:16:42 · 406 阅读 · 0 评论 -
php简单操作mysql锁机制
锁机制共享锁与排他锁共享锁(读锁):其他事务可以读,但不能写。排他锁(写锁) :其他事务不能读取,也不能写。对于MySQL来说,有三种锁的级别:页级、表级、行级页级的典型代表引擎为BDB。行级的典型代表引擎为INNODB。表级的典型代表引擎为MyISAM,MEMORY以及很久以前的ISAM。BDB 存储引擎采用的是页面锁(page-level locking),但也支持表级锁InnoDB 存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行.原创 2021-04-29 13:58:44 · 876 阅读 · 1 评论 -
php简单操作mysql存储过程和存储函数
在mysql建名为db_school数据库(InnoDB 类型),和account 表里面字段有简单介绍存储过程与存储函数:MySQL中提供存储过程与存储函数机制,我们姑且将存储过程和存储函数合称为存储程序。与一般的SQL语句需要先编译然后立即执行不同,存储程序是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,当用户通过指定存储程序的名字并给定参数(如果该存储程序带有参数)来调用才会执行。存储程序就是一条或者多条SQL语句和控制语句的集合,我们可以将其看作MySQL的批处理文件,当然,原创 2021-04-28 15:09:24 · 324 阅读 · 0 评论 -
php中使用mysql事务案例(学习)
mysql事务大概描述:1:练习操作在mysql建名为db_school数据库(InnoDB 类型),和account 表里面字段有<?php/** * Created by PhpStorm. * User: Administrator * Date: 2021/4/28 0028 * Time: 11:01 */ $link = new mysqli('127.0.0.1', 'root', 'root', 'db_school'); // 连接数据库 i原创 2021-04-28 11:50:37 · 158 阅读 · 0 评论 -
php之websocket通信
html页面<!DOCTYPE html><html><head> <title>chatdemo</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1, maximum-scale=1, user-scalable=no"></head>&原创 2021-04-24 17:12:31 · 426 阅读 · 0 评论 -
php使用socket扩展通信
需要了解TCP/IP、UDP省略TCP/IP、UDP介绍Socket:socket是应用层和TCP/IP协议族通信的中间软件抽象层,socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在socket接口后面。一个生活中的场景。你要打电话给一个朋友,先拨号,朋友听到电话铃声后提起电话,这时你和你的朋友就建立起了连接,就可以讲话了。等交流结束,挂断电 话结束此次交谈。 生活中的场景就解释了这工作原理。2:--------------------------------------.原创 2021-04-24 16:53:56 · 801 阅读 · 4 评论 -
PHP多进程学习(三)父进程与子进程的执行顺序,进程中共享数据
案例1<?php$pid = pcntl_fork(); if($pid == -1) { //错误处理:创建子进程失败时返回-1. die('fork error');} else if ($pid) { //父进程会得到子进程号,所以这里是父进程执行的逻辑 echo "parent \n"; //等待子进程中断,防止子进程成为僵尸进程。 pcntl_wait($status);} else { //子进程得到的$pid为0, 所以原创 2021-04-24 10:19:54 · 915 阅读 · 1 评论 -
PHP多进程学习(二)__fork起多个子进程,父进程的阻塞与非阻塞
在父进程中,fork返回新创建子进程的进程ID;在子进程中,fork返回0;如果出现错误,fork返回一个负值;<?php // //定义进程数量 // define("FORK_NUMS",5); // //用于保存进程pid // $pids = array(); // //我们创建5个子进程 // for ($i = 0; $i < FORK_NUMS; ++$i) { // $pids[$i].原创 2021-04-24 09:53:58 · 170 阅读 · 1 评论 -
PHP多进程学习(一)
须知孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那些子进程将成为孤儿进程。之后孤儿进程被init进程(进程号为1)所收养,由init进程对他们完成状态收集工作。僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程任然保存在系统中。这种进程为僵死进程。僵尸进程危害:如果进程不调用wait / waitpid的话, 那么保留的那段信息就不会释放,其进程号就会一直被占用,但是系统所能使用的进程号是有限的,如原创 2021-04-24 09:41:28 · 123 阅读 · 0 评论 -
PHP程序守护进程化
PHP命令行程序实现守护进程化有2种方法:一 、使用nohup守护进程化。nohup php myprog.php > log.txt &单独执行 php myprog.php,当按下ctrl+c时就会中断程序执行,会kill当前进程以及子进程。php myprog.php &,这样执行程序虽然也是转为后台运行,实际上是依赖终端的,当用户退出终端时进程就会被杀掉。二、使用PHP代码来实现function daemonize(){ $pid = pcntl_原创 2021-04-23 14:03:13 · 117 阅读 · 0 评论 -
php二位数组去重, 用in_array(),unset()函数
$arr = array( array( "name" => "a" ), array( "name" => "b" ), array( "name" => "c" ), array( "name" => "b" ), array( "name" => "c" ), array("name"=> "d"),原创 2021-04-22 16:46:14 · 193 阅读 · 0 评论 -
PHP的Http请求类封装
记录笔记http.php<?php/** * Created by PhpStorm. * User: Administrator * Date: 2021/4/22 0022 * Time: 10:11 *///基于php的Http请求类封装// 设置URL和相应的选项$options = array( CURLOPT_URL => 'http://localhost/phpheguanbiao/http2.php', CURLOPT_HEADER =转载 2021-04-22 11:58:00 · 441 阅读 · 0 评论 -
宝塔搭建 TP6 分布式数据库:主从同步、读写分离
主从配置的前提条件1、MySQL版本一致;2、MySQL中的数据一致;主:192.168.16.135从:192.168.16.137在虚拟机中建两台服务器,两个都安装宝塔,将两个服务器的放火墙关闭systemctl stop firewalld.service两台虚拟机服务需要相互ping的通1:配置主服务器mysql#[必须]启用二进制日志 log-bin=mysql-bin #[必须]服务器唯一ID,默认是1,一般取IP最后一段 server-id=135重启。。进入原创 2021-03-31 16:07:30 · 3190 阅读 · 0 评论 -
全文搜索引擎Elasticsearch安装(Windows),elasticsearch-php使用案例
安装Elasticsearch1.首先要有JDK环境,确保JDK8及以上版本1.1:需要注册账号下载,可以自己注册,也可以网上搜账号https://www.oracle.com/java/technologies/javase-jdk11-downloads.html1.2:配置环境变量:创建变量JAVA_HOME,值是你安装jdk的路径然后编辑path添加变量2:安装Elasticsearch服务,选择window。(这里我安装了6.8.8版本)https://www.elasti原创 2020-10-23 11:13:36 · 512 阅读 · 0 评论 -
linux安装sphinx全文搜索,并php使用案例
请先装好lnmp环境,如没有装,参考https://blog.csdn.net/hgb24660/article/details/1089389631,去官网下载包http://sphinxsearch.com/这里我通过 wget 方式下载软件包,命令如下:wget http://sphinxsearch.com/files/sphinx-2.1.6-release.tar.gz2.加压该压缩包,命令如下:tar zxvf sphinx-2.1.6-release.tar.gz原创 2020-10-07 11:28:37 · 319 阅读 · 1 评论 -
图片压缩并同时保持清晰度
<?php/** * 图片压缩类:通过缩放来压缩。 * 如果要保持源图比例,把参数$percent保持为1即可。 * 即使原比例压缩,也可大幅度缩小。数码相机4M图片。也可以缩为700KB左右。如果缩小比例,则体积会更小。 * * 结果:可保存、可直接显示。 */class imgcompress{ private $src; private $image; private $imageinfo; private $percent = 0.5;转载 2020-08-10 17:53:07 · 469 阅读 · 0 评论 -
php将把xml转换成数组,并打印文本文件查看。
最近使用支付接口的时候,经常需要测试回调的参数内容进行后续的处理<?phpclass study{ /** * 递归生成目录 */ public function RecursiveMkdir($path){ if (!file_exists($path)) { $this->RecursiveMkdir(dirname($path)); @mkdir($path, 0777); } } /** * 把xml转换成数组原创 2020-08-06 10:45:01 · 136 阅读 · 0 评论 -
redis在PHP中的基本使用案例
//利用Redis类进行操作//实例化Redis类$redis = new Redis();//选择指定的redis数据库连接,默认端口号为6379$redis->connect('127.0.0.1', 6379); //$redis->auth('设置的密码');//普通set/get操作$redis->set(‘library’, ‘predis’);...转载 2019-12-10 20:36:05 · 939 阅读 · 1 评论 -
thinkphp使用快递鸟-查看快递物流
首先你要注册快递鸟账号http://www.kdniao.com/登录后在用户管理后台申请会员服务(需要实名验证);订购物流查询(免费版)然后控制器代码public function actionLogistics(){ /** * Json方式 查询订单物流轨迹 */ //调用查询物流轨迹 //---...原创 2019-10-19 15:02:43 · 399 阅读 · 0 评论 -
thinkphp使用phpoffice/phpspreadsheet,导入导出数据
由于PHPExcel已经不再维护,PhpSpreadsheet是PHPExcel的下一个版本。PhpSpreadsheet是一个用纯PHP编写的库,并引入了命名空间,PSR规范等。这里简单介绍下PhpSpreadsheet的导入导出功能。1、安装1.使用composer安装:composer require phpoffice/phpspreadsheet2.GitHub下载:http...原创 2019-10-16 16:00:09 · 5834 阅读 · 3 评论 -
使用Composer安装thinkphp框架
1,安装Composertp5支持使用composer安装,着实很方便。下载地址:https://www.phpcomposer.com/安装完后会自动设置您的PATH环境变量2,进入CMD命令行界面为了提升速度,建议使用国内镜像站点。composer config -g repo.packagist composer https://packagist.phpcomposer.c...原创 2019-08-19 16:16:47 · 504 阅读 · 0 评论 -
thinkphp使用PHPExcel的导入和导出
目前,很多场景下都在使用Excel导出,现在结合ThinkPHP5.0框架详细说明下excel导出功能的实现步骤。步骤1:下载PHPExcel包下载地址:原创 2019-08-24 15:08:47 · 609 阅读 · 0 评论 -
thinkphp5过滤非数据表字段
DB操作可以使用 strict 关闭字段严格检查:Db::name('user')->strict(false)->insert($data);模型操作可以使用 allowfield 过滤非数据表字段数据$user->allowfield(true)->save($data)还有一个 php 的 unset() 销毁变量也可以使用哈,unset($data['...原创 2019-08-24 15:16:36 · 459 阅读 · 0 评论 -
thinkphp5.0.24使用阿里大鱼短信服务发送验证码
1-下载阿里大鱼的PHPSDk具体文件 提供一份 下载:*****将这个文件夹放入TP5框架中extend目录中(extend目录用于存放一些第三方类库)。我们只需要将目录里的api_sdk复制出来到tp5根目录的extend下面。文件夹复制过去后,我们最好更改一下名称,...原创 2019-08-25 21:01:20 · 496 阅读 · 0 评论 -
thinkphp使用phpqrcode生成二维码
下载第三方类文件这里给个云盘链接,提取码:udzrhttps://pan.baidu.com/s/1P8AvJLACI0NcP2IcP6YQBA将文件压缩到项目的vendor文件夹下。在公共文件写入方法。(注:app下的common.php)function createQRcode($url,$flag=0){ vendor("phpqrcode.phpqrcode"); ...原创 2019-08-27 18:17:48 · 235 阅读 · 0 评论 -
thinkphp5.0.24验证码
这里使用composer安装验证码类检查vendor下topthink是否有:think-captcha原创 2019-08-28 23:04:30 · 701 阅读 · 3 评论 -
Laravel时间戳日期不正确
Laravel下date(“Y-m-d H:i:s”, 你的时间戳)将时间戳转换成日期不正确.在config/app.php文件下将timezone的值改成Asia/Shanghai即可修改成:原创 2019-09-06 17:31:49 · 1461 阅读 · 0 评论 -
laravel 报错Call to undefined function openssl_encrypt() 解决方法
在检查php.ini文件中的extension=php_openssl.dll有没有启动,如果没启动extension=php_openssl.dll前的;号去掉重启一下服务就可以了原创 2019-10-09 10:54:19 · 1500 阅读 · 0 评论 -
laravel5.2+layui图片上传及VerifyCsrfToken报错问题的解决
自己的 Laravel5.2 框架项目中,希望集成 Layer 的图片上传功能 但是在 ajax(POST) 提交请求时,一直显示 500 报错,出现了VerifyCsrfToken报错问题的相关内容,享出来供大家参考学习报错情况原因忽视了 CSRF 的限制,Laravel 推荐在全局注册 VerifyCsrfToken 的 Middleware ,对所有 Post,Put,Delete ...原创 2019-10-09 15:01:45 · 701 阅读 · 0 评论 -
关于thinkphp5.0.24邮箱的发送
开发一个邮件发送功能,由于对框架不熟悉折腾了几个小时终于成功了。步骤1:使用网易邮箱,QQ邮箱同理,这里使用网易邮箱设置POP3/SMTP/IMAP开启服务记住授权码。步骤2:我们使用PHPMailer类包来发送,提供PHPMalier的下载地址:https://sourceforge.net/projects/phpmailer/将PHPMailer解压后放置到第三方类...原创 2019-08-14 10:51:39 · 364 阅读 · 0 评论