随笔分类 -  PHP

摘要:本文目的本文通过例子讲解linux环境下,使用php进行并发任务处理,以及如何通过pipe用于进程间的数据同步。PHP多进程通过pcntl_XXX系列函数使用多进程功能。注意:pcntl_XXX只能运行在php CLI(命令行)环境下,在web服务器环境下,会出现无法预期的结果,请慎用!管道PIPE 阅读全文
posted @ 2018-02-04 21:35 温柔的风 阅读(976) 评论(0) 推荐(1) 编辑
摘要:<?php //fork.php $cmds = [ '/data/wwwroot/default/test1.php', '/data/wwwroot/default/test2.php', '/data/wwwroot/default/test3.php' ]; foreach($cmds as $cmd) { $pid = pcntl_fork(); ... 阅读全文
posted @ 2018-02-03 19:17 温柔的风 阅读(1854) 评论(0) 推荐(0) 编辑
摘要:我们在实际项目中或许会遇到php调用shell脚本的需求。下面就用简单案例在Centos环境下实践 准备 查看php.ini中配置是否打开安全模式 因为safe_mode配置项默认没有,那么我修改了php.ini中的disable_function选项,把其中一个被禁用的函数去掉,去掉【passth 阅读全文
posted @ 2018-02-03 02:00 温柔的风 阅读(1939) 评论(0) 推荐(0) 编辑
摘要:我们在项目开发经常需要做一些优化型测试,比如优化代码段,排查代码段效率问题,或者降低内存消耗成本。 阅读全文
posted @ 2018-02-03 01:08 温柔的风 阅读(1772) 评论(0) 推荐(0) 编辑
摘要:pcntl_fork创建子进程成功的话,系统就有了2个进程,一个为父进程,一个为子进程,父进程和子进程都继续向下执行,子进程的id号为$pid(父进程会获取子进程的$pid也就是$pid不为0,而子进程会获取$pid为0)在系统运行到$pid = pcntl_fork();时,在这个地方进行分支,父 阅读全文
posted @ 2018-02-02 16:05 温柔的风 阅读(2427) 评论(0) 推荐(0) 编辑
摘要:先简单来了解一下多进程 [来初步了解一下PHP多进程及简单demo] php的多进程是不是可以无限制的fork子进程?fork调用的一个奇妙之处就是它仅仅被调用一次,却能够返回两次,它可能有三种不同的返回值: 在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。 阅读全文
posted @ 2018-02-02 13:26 温柔的风 阅读(3416) 评论(0) 推荐(0) 编辑
摘要:将各种截然不同的函数接口封装成统一的API。 PHP中的数据库操作有MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,使不同的数据库操作,统一成一样的API。类似的场景还有cache适配器,可以将memcache,redis,file,apc等不同的缓存函数,统一成一致。 首先定义一 阅读全文
posted @ 2018-02-01 18:01 温柔的风 阅读(282) 评论(0) 推荐(0) 编辑
摘要:通过注册树模式可以更加简单快捷的获取对象,在某个地方实例化了一个对象,可以将这个对象“保存”起来(放入可以全局使用的数组里),用的时候只需要提供 保存对象的时候 的那个标识即可,解决全局共享和交换对象,直接从该数组上获取即可。 为什么要采用注册树模式? 单例模式解决的是如何在整个项目中创建唯一对象实 阅读全文
posted @ 2018-02-01 13:21 温柔的风 阅读(218) 评论(0) 推荐(0) 编辑
摘要:了解 工厂模式,工厂方法或者类生成对象,而不是在代码中直接new。 使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数,只需要在工厂类里修改需要new的类名即可。如果我们不使用工厂方式实例化这些类,则需要每一个类都需要new一遍,过程不可控,类多了 阅读全文
posted @ 2018-02-01 10:47 温柔的风 阅读(209) 评论(0) 推荐(0) 编辑
摘要:了解 单例设计模式用于限制特定对象只能被实例化创建一次,有且只有一个此类型的资源。例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销,在获取单个页面的过程中更是如此。单例模式可以减少类的实例化,避免大量的new操作。因为每一次new 阅读全文
posted @ 2018-01-31 22:46 温柔的风 阅读(287) 评论(0) 推荐(0) 编辑
摘要:使用OpenSSL那么需要先了解一下http://www.cnblogs.com/wt645631686/p/8390936.html 阅读全文
posted @ 2018-01-31 13:51 温柔的风 阅读(9626) 评论(0) 推荐(0) 编辑
摘要:php服务端与客户端交互、提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一个例子来说明如何用php来实现数据的加密解密 先了解一下关于公钥私钥加解密的作用 一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我把2保留起来,不 阅读全文
posted @ 2018-01-31 10:27 温柔的风 阅读(13663) 评论(0) 推荐(0) 编辑
摘要:php是一门单进程弱类型的语言,PHP处理多并发主要是依赖服务器或PHP-FPM的多进程及它们进程的复用,多进程的作用优点大家可以去网上了解,PHP实现多进程在实际项目中意义也是不容小觑的。比如:日常任务中,有时需要通过php脚本执行一些日志分析,队列处理等任务,当数据量比较大时,可以使用多进程来处 阅读全文
posted @ 2018-01-30 11:24 温柔的风 阅读(862) 评论(0) 推荐(0) 编辑
摘要:一、安装Nginx ①安装依赖扩展 ②下载Nginx源码包 ③创建用户名和用户组 ④解压并安装 ⑤启动nginx服务 ⑥关闭防火墙或者开放80端口 访问IP,测试nginx是否安装成功 二、安装MySQL-5.7.19 ①下载安装包 ②创建mysql用户和用户组 ③解压安装包并创建data目录 ④初 阅读全文
posted @ 2018-01-30 00:32 温柔的风 阅读(280) 评论(0) 推荐(0) 编辑
摘要:在使用函数pcntl_fork()时报错 Fatal error: Uncaught Error: Call to undefined function pcntl_fork()....,原因是没有安装pcntl扩展包,有两种解决方式,一种是在编译php的时候加上./configure --enab 阅读全文
posted @ 2018-01-29 22:51 温柔的风 阅读(1688) 评论(0) 推荐(0) 编辑
摘要:在升级了php7.2.0版本之后,重新启动php-fpm过程中遇到一个报错。 我们去查看一下php-fpm.conf里面的配置: 此时我们需要根据配置文件的listen地址做对应的修改: 修改完平滑重启nginx,然后启动php-fpm,OK 阅读全文
posted @ 2018-01-29 14:31 温柔的风 阅读(13705) 评论(0) 推荐(0) 编辑
摘要:我是在Centos下测试的,目前php版本是7.0.0,我要升级到php7.2.0,下面开始。 执行命令 输入版本号 慢慢等待一步步编译安装就可以了。 完成之后需要杀掉老进程,重启PHP。 阅读全文
posted @ 2018-01-29 10:33 温柔的风 阅读(866) 评论(0) 推荐(0) 编辑
摘要://////////////////////////////////////////////////////////////////// // _ooOoo_ // // o8888888o ... 阅读全文
posted @ 2018-01-26 16:39 温柔的风 阅读(517) 评论(0) 推荐(0) 编辑
摘要:ZADD 向有序集合插入一个元素,元素关联一个数值,插入成功返回1,同时集合元素不可以重复, 如果元素已经存在返回 0 待整理...................未完待续 阅读全文
posted @ 2018-01-25 14:24 温柔的风 阅读(384) 评论(0) 推荐(0) 编辑
摘要:SADD 将一个或多个member元素加入到集合key当中。(从左侧插入,最后插入的元素在0位置),集合中已经存在TK 则返回false,不存在添加成功 返回true SMEMBERS 返回集合key中的所有成员。 SREM 移除集合key中的一个或多个member元素,不存在的member元素会被 阅读全文
posted @ 2018-01-25 09:46 温柔的风 阅读(5184) 评论(0) 推荐(0) 编辑