php
文章平均质量分 57
工作所用语言,在纵向学习中深入
HarryPoFly
这个作者很懒,什么都没留下…
展开
-
docker安装swoole扩展
文章目录前言一、拉取php-fpm镜像?二、生成容器三、进入容器四、下载swoole,安装扩展1.下载swoole,并把文件复制到php/ext下2.安装swoole扩展总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、拉取php-fpm镜像? docker pull php:7.3.28-fpm二、生成容器docke原创 2021-06-28 16:26:38 · 1373 阅读 · 4 评论 -
PHP Warning: Module ‘swoole‘ already loaded in Unknown on line 0
php --ri swoolePHP Warning: Module 'swoole' already loaded in Unknown on line 0出现情况:编译安装完swoole扩展后,以为phpinfo中没有swoole扩展是因为要在php.ini中加模块.所以就加入了extension=swoole.so,在使用中就出错了;原因:是PHP有两种方式添加扩展模块,一种是直接编译进了PHP,另外一种是通过共享模式添加模块,并在php.ini配置文件中配置相应的模块。以上问题出现的原因原创 2021-06-28 15:37:02 · 3046 阅读 · 0 评论 -
Restful-Api知识点总结
1.HTTP请求方法1.GET:查询,从服务器取出资源2.POST:创建单个资源3.PUT/PATCH:在服务器更新资源4.DELETE:删除安全和幂等性:安全性幂等性get√√post××put×√DELETE×√2.状态码1xx:相关信息2xx:操作成功3xx:重定向4xx:客户端错误5xx:服务器错误状态码状态说明200 OK[GET]:服务器成功返回用户请求的数据,该操作是幂等性的201原创 2021-05-12 16:48:18 · 216 阅读 · 0 评论 -
RabbitMQ-PHP(3)exchange-direct
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、direct是什么?二、使用步骤1.发送端代码2.接收端代码3.执行总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、direct是什么?官方链接这个模式在fanout进行升级,发送者将消息发送到交换机,交换机将消息根据绑定路由发送到各自队原创 2021-05-08 10:48:02 · 302 阅读 · 0 评论 -
RabbitMQ-PHP(2)Publish/Subscribe之exchange-fanout
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Publish/Subscribe?二、使用步骤1.发送代码2.接收代码3.运行结果:4.要点解读:总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、Publish/Subscribe?官方文章链接该模式主要讲了exchange交换器fan原创 2021-04-29 11:07:27 · 310 阅读 · 2 评论 -
RabbitMQ-PHP(1)工作队列,分发任务给不同的的消费者
文章目录一、Work Queues?二、使用步骤1.发送端new_task.php2.接收客户端3.执行结果4.要点分析总结一、Work Queues?队列默认按顺序将message发给下一个consumer.每个cosumer会获取到相同数量的的消息.二、使用步骤1.发送端new_task.php代码如下(示例):<?php require_once(__DIR__ . './vendor/autoload.php'); use PhpAmqpLib\Connection\AM原创 2021-04-28 11:10:43 · 415 阅读 · 4 评论 -
RabbitMQ-PHP代码实现
RabbitMQ-PHP代码实现前言一、说明二、开始1.引入库2.生产者代码(发送消息端)3.消费者代码(接受消息端)4.函数解读总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、说明在安装好rabbitmq之后,并且php扩展amqp的已经安装完成之后,开始的步骤.二、开始1.引入库找项目位置,或者新建一个文件夹,执行原创 2021-04-26 15:43:30 · 672 阅读 · 0 评论 -
PHP求两数之和
该方法使用hash存储的思想去解答$nums = [11,15,2,7];$target = 9;$num_array = [];function twoSum($nums, $target) { foreach($nums as $key=>$val){ if(!isset($num_array[$target - $val ])){ $num_array[$val] = $key; } if(isset($num_array[$target - $v.原创 2021-04-01 16:09:39 · 780 阅读 · 2 评论 -
PHP-工厂方法模式
工厂方法规避了简单工厂的违反开放封闭原则;结构:有interface和abstract产品父类;有实现父类的产品子类;有interface和abstract工厂父类;有实现父类的工厂子类;示例:Operation.php<?phpnamespace mulfactory;abstract class Operation{ protected $numberA =...原创 2020-01-07 15:48:42 · 167 阅读 · 0 评论 -
PHP设计模式-简单工厂方法
简介: 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。优缺点:优点:工厂处理好逻辑后,外部可直接调用,不用一一调用各自的逻辑类,优化代码结构缺点:违反高内聚责任分...原创 2020-01-03 16:26:55 · 106 阅读 · 0 评论 -
PHP反射
PHP 5以上 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。 此外,反射 API 提供了方法来取出函数、类和方法中的文档注释。反射是什么?它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信息以及动态调用对象的方法的功能称为反射API。反射是操纵面向对象范型中元模型的API,其功能十分强大,...原创 2019-12-30 16:39:28 · 130 阅读 · 0 评论 -
PHP自动加载机制
PHP自动加载机制引入文件的方法,有require和include函数;1.require 和 include 几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生E_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行;2.require_once和include_one仅判断是否重复引入在项...原创 2019-12-20 16:01:15 · 103 阅读 · 0 评论 -
php中浏览器自动把×tamp显示成×tamp的问题
在给合作公司提供接口的时候,公共参数中有timestamp这个参数,接口编写的过程中在生成签名的时候发现*×tamp=*变成了*×tamp=*,这种问题是因为浏览器把×tamp转义了,现在提供两种解决办法:1.把timestamp放到所有参数的第一位2.把**&**改为**&** ...原创 2019-07-03 15:52:41 · 1874 阅读 · 0 评论 -
Phalcon学习(二)之在windows上安装使用phalcon开发工具(可安装phalcon框架)
安装phalcon框架步骤相对thinkphp,yii,laravel比较特殊没有直接下载框架压缩包的地址,也可能是我目前没找到;使用phalcon工具可直接生成phalcon框架目录;步骤一:下载工具压缩包首先把开发工具压缩包下载下来(下载地址:https://github.com/phalcon/phalcon-devtools),然后解压到一个位置,比如:c:\phalcon-too...原创 2019-06-21 16:07:40 · 743 阅读 · 0 评论 -
Phalcon学习(一)之在windows上安装Phalcon
今天写这篇博客是为了记录这两天怎么安装上phalcon以及建设基本架构的,先不介绍关于phalcon的信息;步骤1:安装php_phalcon.dll扩展因为是Phalcon作为php的一个C扩展,所以要下载一个扩展;下载地址为:https://github.com/phalcon/cphalcon/releases/tag/v3.4.3上图为下载地址打开的页面,下载与你本地开发环境...原创 2019-06-21 14:56:30 · 1959 阅读 · 0 评论 -
php微信公众平台验证消息的确来自微信服务器(TOKEN验证)
今天必须吐槽下微信公众号的文档!!!!!!公司有个关于微信登陆的变异需求,但是公司没有测试号,我只有拿自己的公众号测试开发了,准备接入服务器,验证开发者,于是又去翻看文档了,按照文档来我各种报错,两个字坑爹!!!也不知道更新下文档真的是.大家看一下,我刚开始还没注意上面说的几个参数,token,timestamp,nonce.然后我看了下php示例代码,看到缺了很多$符号,然后我粘贴到编...原创 2019-05-21 10:27:36 · 1304 阅读 · 0 评论 -
阿里云直播live
直播流程:生成推流地址,使用推流软件(例:OBS)设置参数推流;获取拉流地址,进行播放;在开发环节php作为服务端主要责任就是返回推流地址以及拉流播放地址其它也没什么;关于地址阿里的只给出了文档并没有给出详细的sdk方法,具体生成还得自定义,话不多说上代码: /** * 生成推流地址 * @param $streamName 流名 *原创 2018-02-06 11:46:50 · 3045 阅读 · 0 评论 -
mysql 地区表
SET FOREIGN_KEY_CHECKS=0;– Table structure for areaDROP TABLE IF EXISTS area; CREATE TABLE area ( id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘ID’, pid int(11) DEFAULT NULL COMMENT ‘父id’...转载 2018-03-23 11:11:36 · 4075 阅读 · 2 评论 -
[报错:字符太长]SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t oo long;
情景:执行php artisan migrate 报错 查阅了下资料说是mysql版本低,好吧mysql用phpstudy集成,可能会是有点低;解决办法: 可以在 AppServiceProvider.php 文件(此文件在app/Providers/下)里的 boot 方法里设置一个默认值:<?phpnamespace App\Providers;use Illum...原创 2018-06-26 16:43:33 · 15337 阅读 · 1 评论 -
php下redis的简单操作(持续更新...)
String 类型操作string是redis最基本的类型,而且string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象$redis->set('key','XF'); //基本设置简直的方法$redis->get('key','XF'); //基本取值方法$redis->setex('key',5,'...原创 2018-07-09 16:04:50 · 819 阅读 · 10 评论 -
[mysql]分表初级概念
今天想到公司数据库单个表中条数很多,于是查了一些资料,高端的看不懂,于是看了个基础的,先简单总结一下.先介绍一下两种分表(复制转载):一、基于基础表的分表处理这个基于基础表的分表处理方式大致的思想就是:一个主要表,保存了所有的基本信息,如果某个项目需要找到它所存储的表,那么必须从这个基础表中查找出对应的表名等项目,好直接访问这个表。如果觉得这个基础表速度不够快,可以完全把整个基...转载 2018-07-10 16:51:37 · 303 阅读 · 0 评论 -
laravel5.5之表单验证
最近在从lara基础学习框架,根据手册弄了两种表单验证,先来晒一下自己总结的吧;public function store(Request $request){ $this->validate($request, [ 'title' => 'required|unique:posts|max:255', 'body' => '...原创 2018-07-17 10:31:13 · 1600 阅读 · 0 评论 -
Your requirements could not be resolved to an installable set of packages.
执行composer install遇到错误:Your requirements could not be resolved to an installable set of packages. 这是因为不匹配composer.json要求的版本,错误代码如下。Loading composer repositories with package informationInstalli...原创 2018-07-20 11:49:09 · 26366 阅读 · 0 评论 -
laravel5之migrate错误1(PDO::ATTR_STATEMENT_CLASS)
这个错误是因为运行php artisan migrate而发生的错误,在百度上搜了很多资料.说是要降低 doctrine/dbal=2.6.3 降级的版本,可降低版本终归不是办法,时代在进步,废了很多的功夫,才发现是php版本过低,需要升高到至少7.1版本以后这个错误就迎刃而解了;...原创 2018-07-30 09:44:59 · 744 阅读 · 0 评论 -
laravel之facade门面模式解释
facades的文档在laravel文档核心框架下,想来也是很重要;今天偶然看到一个对门面模式的解释,我觉得超级简单就转载一下以作保存 门面,当然就是你家楼下的门面。 你去一家面馆(门面),要了份西红柿鸡蛋面,你的过程(一般来说)是这样: 1.找个位置坐下 2.看下菜单,喊道:“老板来碗西红柿鸡蛋面”! 3.老板说:“好嘞,稍等”,你坐等。。。 4.吃完,抹嘴,付钱(脸...转载 2018-08-07 14:40:17 · 1762 阅读 · 0 评论 -
elasticsearch和analysis-ik的安装使用
我跟着白哥的博客学习,并安装了elasticsearch和analysis-lk首先下载安装java11jdk地址:http://download.oracle.com/otn-pub/java/jdk/11.0.1+13/90cf5d8f270a4347a95050320eef3fb7/jdk-11.0.1_linux-x64_bin.rpmwget --no-cookies --no-...原创 2018-11-14 15:14:35 · 1455 阅读 · 0 评论 -
laravel下elasticsearch+analysis-ik实现中文全文搜索
这篇文章需要建立在 elasticsearch 已经配置完成的前提下;开始先弄来一个laravel框架创建一个文章表和文章模型;php artisan make:model Models/Article -m添加文章标题和内容字段/database/migrations/2018_06_03_080124_create_articles_table.php/** * Run t...转载 2018-11-14 15:31:40 · 618 阅读 · 0 评论 -
laravel5定时任务配合linux使用说明
过去,你可能有一个任务,就需要在linux的crontab上写一个任务去定时执行,并且一些关于任务的时间也得上linux上点点的去个更改;而laravel的任务调度,你只需在代码上去写你的任务;因为laravel建设一个入口,linux定时任务只需指向这个入口就ok了.启动调度器(把linux定时任务指向lavavel的cron入口)* * * * * php /path-to-y...原创 2018-12-05 15:44:29 · 1986 阅读 · 0 评论 -
php 防止高并发批量入库的解决方法
最近项目有个类似于签到的功能,功能上线后出现一位用户疯狂刷签到的问题;我们功能正常没问题,由于用户模拟了高并发的场景,所以数据库中出现了很多同时插入的数据;在来回检查代码,和数据库之后才终于解决了问题;1.出现相同数据的原因因为同一时间内过来的请求很多,并且这些请求间隔都是毫秒级,它们同时通过了对数据重复判断的条件,所以同时插入了很多数据2.我的解决办法我用了文件锁的思路:使用非阻塞的...原创 2019-01-21 16:53:48 · 3023 阅读 · 4 评论 -
yii1.*的增删改查
//添加 Yii::app()->db->createCommand()->insert('tbl_user', array( 'username' => 'zhangsan', 'email' => 'zhangsan@zs.com')); //使用user m原创 2016-01-29 16:29:11 · 409 阅读 · 0 评论