php
文章平均质量分 76
a369405354
这个作者很懒,什么都没留下…
展开
-
php面试题总结(希望建立在理解的基础上)(持续更新ing)
网上很多面试题都是针对题而作答。看完之后过一天就会被遗忘,此时,希望总结一套不但能用于面试作答的题,同时它也能作为一个总结吧。原创 2022-08-05 15:02:27 · 1400 阅读 · 1 评论 -
记一次友盟推送,android端离线推送收不到消息问题。
这两日,项目经理让用友盟推送来推送消息,任务要求是app线上线下(关掉app)都能收到推送消息。本人php,所以就下载了友盟官方提供的php demo :链接:https://developer.umeng.com/docs/66632/detail/68343这里吐槽一句:如大家看到的,友盟已经N年不更新服务端代码了。开始作业前提:我这已经配置好 小米,华为等厂商通道...原创 2019-12-04 14:24:32 · 5092 阅读 · 6 评论 -
centos 编译安装php7.1 mysql nginx
编译安装PHPyum 检查更新yum update安装php需要的依赖yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison \libtool-ltdl-devel libiconv libmcrypt mha...转载 2018-05-15 13:26:46 · 255 阅读 · 0 评论 -
laravel5.5事件系统
刚进入一个公司,经理让改一个laravel聊天功能,其中该功能主要应用到laravel事件和广播,两块知识。这里记录下查阅的博文,以做日后翻阅。1 注册事件和监听器修改EventServiceProvider中的listen数组/** * 应用程序的事件监听器映射。 * * @var array */protected $listen = [ 'App\Events\OrderS...转载 2018-05-16 13:10:18 · 855 阅读 · 0 评论 -
进程管理supervisor的简单说明
背景: 项目中遇到有些脚本需要通过后台进程运行,保证不被异常中断,之前都是通过nohup、&、screen来实现,带着能否做一个start/stop/restart/reload的服务启动的想法找到里Supervisor。关于supervisor的介绍在网上大致搜索总结如下: Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行...转载 2018-09-06 13:09:50 · 142 阅读 · 0 评论 -
logstash日志分析的配置和使用
logstash是一个数据分析软件,主要目的是分析log日志。整一套软件可以当作一个MVC模型,logstash是controller层,Elasticsearch是一个model层,kibana是view层。 首先将数据传给logstash,它将数据进行过滤和格式化(转成JSON格式),然后传给Elasticsearch进行存储、建搜索的索引,kibana提供前端的页面再进行搜索...转载 2018-09-07 10:11:37 · 602 阅读 · 0 评论 -
非对称加密 (1)JS加密方法RSA加密PHP解密 (2)crypto-js对称加密
有关数据加密解密问题,有很多钟加密方式。这里我就讲我最近使用到的其中的两种方法一、首先第一种就是RAS的加密形式,我使用这种加密形式最要是看中他的16进制加密形式类似MD5的形式,机密以后的字符串没有特殊字符1、首先我们看html部分,我们要先导入所需要的加密JS文件 1 2 3 4 5 6 7 8 9 10...转载 2018-10-22 15:33:56 · 2114 阅读 · 0 评论 -
rsa非对称加密(js+php)---事例2(已被采用)
非对称加密提交表单到PHP首先用openssl工具生成一对RSA非对称密钥 附录:生成方法RSA密钥生成命令1、生成RSA私钥openssl>openssl genrsa -out rsa_private_key.pem 1024 得到exponent: 100012、生成modulus:openssl>openssl rsa -in rsa_priv...转载 2018-10-30 08:58:01 · 1919 阅读 · 1 评论 -
分享一个通过ip获取省市的接口
今天看到一个通过ip获取省市区的接口不过分享给大家!ip地址:http://ip.taobao.com/service/getIpInfo.php?ip='.$ip使用方法:<?php$url ='http://ip.taobao.com/service/getIpInfo.php?ip=' ;$ip = '124.202.230.166';$path = $url ...转载 2018-11-05 10:39:44 · 2307 阅读 · 0 评论 -
PHP7 解决 java对应的 AES/ECB/PKCS5Padding 算法
先点击链接了解一下算法吧 在线生成AES加密javaimport javax.crypto.Cipher;import javax.crypto.spec.SecretKeySpec;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;public class aes { //加密方法 str为传输的值 ...转载 2018-12-10 11:11:06 · 3036 阅读 · 1 评论 -
常见GC算法----各语言内存垃圾回收机制
用任何带 GC 的语言最后都要直面 GC 问题。在以前学习 C# 的时候就被迫读了一大堆 .NET Garbage Collection 的文档。最近也学习了一番 golang 的垃圾回收机制,在这里记录一下。 常见 GC 算法趁着这个机会我总结了一下常见的 GC 算法。分别是:引用计数法、Mark-Sweep法、三色标记法、分代收集法。 1. 引用计数法原理是在每个...转载 2019-02-27 13:25:12 · 867 阅读 · 0 评论 -
[转]php中流行的rpc框架有哪些?
什么是rpc框架先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call)那什么是远程调用?通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定义的,要么是php库函数中自带的,也就说在localAdd方法的代码实现在本地,它是一个本地调...转载 2019-03-04 10:15:52 · 471 阅读 · 1 评论 -
PHP5.5 ~ PHP7.2 新特性整理
本篇文章介绍了关于PHP5.5 ~ PHP7.2 新特性整理,有需要的朋友可以参考一下源文连接(有时间还是去看源文较好):http://www.php.cn/php-weizijiaocheng-390788.html从PHP 5.5.x 移植到 PHP 5.6.x新特性使用表达式定义常量 在之前的 PHP 版本中, 必须使用静态值来定义常量,声明属性以及指定函数参数默认值。...转载 2019-03-14 10:20:45 · 364 阅读 · 0 评论 -
ajax 向后台传递 关联二位数组
目前在做一个小项目,遇到这个问题,坑了2小时,下面贴出jquery代码。 function ajaxtz(){ var save_plan=[]; var save_plan_temp= new Object(); save_plan_temp.trano=trano; save_plan_temp.playtitle...原创 2019-04-12 23:25:34 · 267 阅读 · 0 评论 -
记一次swoole中redis报错问题,Uncaught RedisException: protocol error, got '1' as reply type byte
最近在做一个聊天功能,用到的就是swoole + redis + mysql开发过程中遇到一些奇葩的问题,如下,错误描述:PHP ERR Uncaught RedisException: protocol error, got '1' as reply type bytePHP ERR Uncaught RedisException: protocol error, got '4'...原创 2019-05-31 10:09:42 · 2152 阅读 · 0 评论 -
简单理解php的socket编程
php的socket编程算是比较难以理解的东西吧,不过,我们只要理解socket几个函数之间的关系,以及它们所扮演的角色,那么理解起来应该不是很难了,在笔者看来,socket编程,其实就是建立一个网络服务的客户端和服务端,这和mysql的客户端和服务端是一样的,你只要理解mysql的客户端和服务端是怎么一回事,你就应该能够理解下面我要讲的东西吧。 关于socket编程所涉及到的网络协议,什...转载 2018-03-29 09:24:38 · 126 阅读 · 0 评论 -
使用PHP调用系统命令实现ffmpeg的调用
1、需要实现的功能: 上传好视频后,PHP后台自动选取视频流中的某一帧作为视频封面。2、工具:FFmpeg FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,功能很强大。笔者并没有深入了解和研究这个伟大的项目。只是为了实现上述功能。(在搜索工具的过程中,还搜到了php-FFmpeg,这是一个面向对象的FFmpeg / AVConv音视频文...转载 2018-02-27 10:27:29 · 1312 阅读 · 0 评论 -
关于用户登录状态存session,cookie还是数据库或者memcache的优劣
session中保存登陆状态:优:整个应用可以从session中获取用户信息,并且查询时很方便.在session中保存用户信息是不可缺少的(web应用中)缺:session中不宜保存大量信息,会增减内存消耗量cookie中保存登陆状态:优:数据保存在客户端,方便用户下次登录.如:”记住我“功能缺:安全性不高,一般都是讲数据加密后保存在cookie中memcache应用主要体现在对大量数据的cach...转载 2018-02-27 11:13:04 · 4451 阅读 · 0 评论 -
Ajax跨域问题的两种解决方法
浏览器不允许Ajax跨站请求,所以存在Ajax跨域问题,目前主要有两种办法解决。 1、在请求页面上使用Access-Control-Allow-Origin标头。 使用如下标头可以接受全部网站请求:header('Access-Control-Allow-Origin:*') 使用如下标头可以接受指定网站请求:header('Access-Control-Allow-Origin:http:/...转载 2018-02-27 11:15:25 · 206 阅读 · 0 评论 -
alipay.trade.refund(统一收单交易退款接口)
当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,支付宝将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 交易超过约定时间(签约时设置的可退款时间)的订单无法进行退款 支付宝退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。一笔退款失败后重新提交,要采用原来的退款单号。总退款金额不能...转载 2018-02-27 11:23:52 · 6627 阅读 · 0 评论 -
PHP的轻量消息队列php-resque使用说明
日志未经声明,均为AlloVince原创。版权采用『 知识共享署名-非商业性使用 2.5 许可协议』进行许可。消息队列处理后台任务带来的问题项目中经常会有后台运行任务的需求,比如发送邮件时,因为要连接邮件服务器,往往需要5-10秒甚至更长时间,如果能先给用户一个成功的提示信息,然后在后台慢慢处理发送邮件的操作,显然会有更好的用户体验。为了实现类似的需求,Web项目中一般的实现方法是使用消息队列(M...转载 2018-02-27 11:25:34 · 142 阅读 · 0 评论 -
php+redis实现消息队列
个人理解在项目中使用消息队列一般是有如下几个原因:把瞬间服务器的请求处理换成异步处理,缓解服务器的压力实现数据顺序排列获取 redis实现消息队列步骤如下:1).redis函数rpush,lpop2).建议定时任务入队列3)创建定时任务出队列 文件:demo.php插入数据到redis队列1234567891011121314151617<?php $redis = new Redis()...转载 2018-02-27 11:31:43 · 479 阅读 · 0 评论 -
PHP中“简单工厂模式”实例讲解
原创文章,转载请注明出处:http://www.cnblogs.com/hongfei/archive/2012/07/07/2580776.html简单工厂模式:①抽象基类:类中定义抽象一些方法,用以在子类中实现②继承自抽象基类的子类:实现基类中的抽象方法③工厂类:用以实例化对象看完文章再回头来看下这张图,效果会比较好 1 采用封装方式 2 3 <?php 4 class ...转载 2018-02-27 11:33:44 · 148 阅读 · 0 评论 -
细说websocket - php篇
下面我画了一个图演示 client 和 server 之间建立 websocket 连接时握手部分,这个部分在 node 中可以十分轻松的完成,因为 node 提供的 net 模块已经对 socket 套接字做了封装处理,开发者使用的时候只需要考虑数据的交互而不用处理连接的建立。而 php 没有,从 socket 的连接、建立、绑定、监听等,这些都需要我们自己去操作,所以有必要拿出来再说一说。 ...转载 2018-02-27 11:46:13 · 357 阅读 · 0 评论 -
php相关总结1
1,双引号和单引号的区别 1)双引号解释变量,单引号不解释变量 2)双引号里插入单引号,其中单引号里如果有变量的话,变量解释 3)双引号的变量名后面必须有一个非数字、字母、下划线的特殊字符,或者用变量括起来,否则会将变量后面的部分当做一个整体,引起语法错误 4)双引号解释转义字符,单引号不解释转义字符,但是解释'\和\\ 5)能使单引号字符尽量不要使用双引号字符,单引号的效率比双引号要高(因为双引...原创 2018-02-27 12:39:51 · 398 阅读 · 0 评论 -
php相关总结2
MYSQL相关知识 1)如何分库分表 分表是分散数据库压力的好方法。 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库 当然,首先要知道什么情况下,才需要分表。个人觉得单表记录条数达到百万到千万级别时就要使用分表了。 1)分表的分类 1)纵向分表 将本来可以同一个表的内容,人为划分为多个表(所谓的本来,是指按照关系型数据库的第三范式要求,...原创 2018-02-27 12:41:07 · 172 阅读 · 0 评论 -
php垃圾回收和内存管理机制
1,php垃圾回收机制(Garbage Collerctor 简称GC) php中,没有任何变量指向这个对象时,这个对象就成为了垃圾,PHP会将其在内存中销毁,这是php的GC垃圾处理机制,防止内存溢出 当一个php线程结束时,当前占用的所有内存空间都会被销毁,当前程序中所有对象同时被销毁.GC进程一般都跟着每一个session而开始运行 gc目的是为了在session文件过期以后自动销...转载 2018-02-27 12:41:54 · 280 阅读 · 0 评论 -
PHP之十六个魔术方法详细介绍
最近在面试,有好多东西都忘的一干二净或者一知半解,这次下定决心要把所有半解的东西搞懂。网上转载一些东西,方便自己时常观看。PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。 魔术方法包括:__construct(),类的构造函数__destruct(),类的析构函数__call(),在对象中调用一个不可访问方法时调用__call...转载 2018-03-12 10:02:36 · 163 阅读 · 0 评论 -
mysql价格排序
isdcode字段按照由小到大的顺序排序,于是乎我是这样写的代码如下复制代码 SELECT * FROM gb_country_isdcode ORDER BY isdcode asc结果如下,发现竟然不是我想要的结果,asc排序是对的呀,于是乎我找呀找,找呀找,终于找到原因了;isdcode是varcher类型的,如果排序的直接用asc显然是不行的,必须将他转换成int类型然后就可以正常排序了...转载 2018-03-05 15:11:28 · 1875 阅读 · 0 评论 -
数组映射思路-避免双重foreach
<?php//数组映射计算//适用于数组1和数组2中有重复的字段$arr = array( array('uid'=>123,'message'=>'消息','class'=>1), array('uid'=>123,'message'=>'消息','class'=>2), array('uid'=>123,'message'=>'消息','c...原创 2018-03-22 21:49:40 · 1015 阅读 · 0 评论 -
PHP获取数组最大值下标的方法
这篇文章主要介绍了PHP获取数组最大值下标的方法,涉及php中max及array_search等函数操作数组的相关技巧,需要的朋友可以参考下本文实例讲述了PHP获取数组最大值下标的方法。分享给大家供大家参考。具体实现方法如下:<?php$hots = array('8213'=> 0,'8212'=> 100,'8172'=> 10008);$key = arr转载 2018-01-16 09:41:01 · 8033 阅读 · 0 评论