
PHP
无风的雨
这个作者很懒,什么都没留下…
展开
-
Linux 下监控文件自动实现swoole framework热更新
swoole是以cli运行的,然后长驻内存的。整个生命周期只有在启动的时间可以一次执行RINT过程, 之后所有的请求都在第三步以内完成。(这也是swoole更快的原因之一),这样的话,相关的php脚本如果被执行了一次,就永久性的长驻内存了,更新代码就没有效果了。如果想让代码生效就要重启swoole服务,这种做法是比较粗暴和繁琐。如何才能实现自动检测代码文件?代码自动生效?在网上查到说使用runkit原创 2017-06-24 00:03:41 · 843 阅读 · 0 评论 -
创建一个自己的composer包
Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 “packages” 和 “libraries”,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。这种想法并不新鲜,Composer ...原创 2018-03-17 23:04:05 · 2695 阅读 · 0 评论 -
docker 之基于Dockerfile构建 Nginx+ php7
前言本文是将Nginx 和PHP7安装在不同容器,同–link实现交互通信,网上查有些资料将LNMP装在一个容器,我认为装在一起固然简单一些,但不够灵活(纯个人看法,有不同观点,欢迎回复)。 系统环境:CentOS Linux release 7.4.1708 一、构建nginx 1、创建目录/var/docker/mkdir -p /var/docker从 github 拉取相...原创 2018-03-21 17:09:25 · 9431 阅读 · 0 评论 -
php7之常用扩展作用说明
php 扩展主要分为两类: php 模块扩展和zend模块扩展。相关作用如下: [PHP Modules] bz2 用于透明地读写 bzip2(.bz2)压缩文件。 calendar 日历 http://php.net/manual/zh/intro.calendar.php ctype 字符检测 http://php.net/manual/zh/book.ctype.php ...原创 2018-04-06 00:56:47 · 9930 阅读 · 0 评论 -
php7 下安装并使用xhprof性能分析工具
Xhprof是facebook开源出来的一个php轻量级的性能分析工具,跟Xdebug类似,但性能开销更低,还可以用在生产环境中,也可以由程序开关来控制是否进行profile。 1、安装 参考:https://github.com/longxinH/xhprof 下载git clone https://github.com/longxinH/xhprof.git如果没有安装git,执...原创 2018-05-20 13:54:38 · 1689 阅读 · 0 评论 -
centos7 下grpc的go服务端和PHP客户端实现
前言 gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持.gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部...原创 2018-06-07 19:10:23 · 2665 阅读 · 1 评论 -
docker之维护PHP相关配置
日常工作当中,可能会碰到维护PHP相关配置文件的情况,而登录到容器里进行相关操作,又没有在宿主主机上操作方便,于是就想着写个脚本来代替一系列复杂的操作。 不多说,上代码; 创建脚本 在宿主主机创建 phpconf.sh#!/bin/bash#复制PHP配置文件到容器,docker cp /data/config/php.ini php:/etc/docker cp /data/c...原创 2018-07-10 21:38:34 · 3800 阅读 · 0 评论 -
centos7 配置gitlab自动部署
前言 gitlab安装,移步 gitlab安装 利用gitlab的webhook(钩子)调用外部url可以实现代码自动部署,本例通过PHP程序实现代i码自动部署,也可以通过其他方式。例如:node.js、jenkins(这种方式比较推荐的,后续有时间补上)等。添加项目test 点击 new project 填写相关信息权限等级分三种:Private 私有的,只有你自己或...原创 2018-09-07 14:40:19 · 1751 阅读 · 0 评论 -
docker 安装rabbitmq + php实例
1、拉去镜像也可以进入docker hub镜像仓库地址:https://hub.docker.com/ ,选一个镜像,这里用docker pull rabbitmq:management2、创建运行容器docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --h...原创 2019-03-27 17:49:35 · 1744 阅读 · 0 评论 -
Go socket实现多语言间通信
前言socket提供了在传输层进行网络编程的方法,它比基于http协议的接口传输更高效,RPC(Remote Procedure Call)是远程过程调用,常用于分布式系统等,而rpc很多是基于socket实现的。不了解socket、http等协议请阅读https://blog.youkuaiyun.com/guyan0319/article/details/79404216。Socket 都可以用“打...原创 2019-06-27 22:08:11 · 1072 阅读 · 0 评论 -
微信小程序客服消息功能 php
项目说明:本项目是一个简单微信小程序客服消息类,实现客服消息相关功能。官方给的php示例有误,这里就不再吐槽了。本示例是采用开发者服务器,没有采用云调用的形式。官方文档:客服消息指南客服消息服务端适用场景[外链图片转存失败(img-h5s090a6-1565421543066)(https://raw.githubusercontent.com/guyan0319/xcx-msg/m...原创 2019-08-10 15:20:53 · 2180 阅读 · 0 评论 -
laravel5.6 安装实例
一、服务器需求请确保您的服务器满足下面的要求:PHP >= 7.1.3 OpenSSL PHP PHP PDO 扩展 PHP Mbstring 扩展 PHP Tokenizer 扩展 PHP XML 扩展 PHP Ctype 扩展PHP JSON 扩展 如果是开发环境,Laravel 官方推荐Homestead ,如果只是学习的话, Mac 系统推荐使用 Val...原创 2018-03-15 23:01:06 · 4809 阅读 · 3 评论 -
WebSocket 协议简介
一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工通讯的协议。 WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。所有浏览器都已经支持了。二、为什么需要WebSocket相对于HTTP协议,只能由客户端发起,WebSocket协议允许服务器主动向客户端推送信...原创 2018-02-28 17:28:36 · 708 阅读 · 0 评论 -
thinkphp3.2 之 restful
REST(英文:Representational State Transfer,简称REST)是web服务的一种架构风格;使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计;它是一种设计风格,不是一种标准,是一种思想。设计概念和准则:1、网络上的所有事物都被抽象为资源(resource);2、每个资源对应一个唯一的资源标识(reso...原创 2018-03-07 18:05:23 · 2880 阅读 · 0 评论 -
用swoole framework 实现远程接口调用RPC
最近用swoole framework开发个项目,想实现远程接口调用RPC,无奈swoole框架坑点太多,资料又少的可怜,只能自己研究。利用swoole框架的RPCServer类 实现服务端,RPC类实现客户端。实现步骤如下:服务端在examples/ 目录下创建rpc_server.php PHP代码<?phpdefine('DEBUG', 'on');define('WEBPATH...原创 2017-05-26 17:57:50 · 5154 阅读 · 0 评论 -
yum 安装php-fpm+nginx+mysql教程
多数同学使用centos系统的yum安装工具时会遇到找不到好的yum源,今天给大家推荐一个可靠的源网站。 网址:https://webtatic.com/packages/。安装前准备根据自己系统版本安装yum源包。 CentOS/RHEL 7.x:rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarc原创 2017-07-04 10:54:18 · 1851 阅读 · 1 评论 -
yii2整合yar实现RPC
近来用YII2开发个商城系统,里面用到RPC。考虑到YAR在这方面性能比较突出,就试着自己捣鼓一下。 总的来说,实现起来并不复杂,具体步骤如下准备o工作配置网站环境 安装yii2(高级版) 参考http://www.yiichina.com/doc/guide/2.0/start-installation 这里不再赘述。 配置 Nginx,设置两个测试域名。 server_name y原创 2017-07-03 00:21:44 · 3520 阅读 · 10 评论 -
CI整合YAR
1、在libraries目录下创建yar客户端接口程序 Yar.php<?php/*** yar 接口*/class Yar{ /** * 构造函数 * * @author 郭志强 * @return void * @throws Exception * @access public */ public原创 2017-10-13 23:29:39 · 408 阅读 · 0 评论 -
yii2 之图片上传插件fileinput使用说明
在网上搜了很多yii2图片上传插件,感觉这个和bootstrap融合的很好,比较能满足需求,故推荐给大家。 在使用过程中踩过不少坑,以下是具体使用说明。 本例所适用场景有一个商品表和一个商品图片表,商品图片表和商品表通过商品表ID对应。开始前准备过程$ php composer.phar require kartik-v/yii2-widget-fileinput "@dev"or 在 com原创 2017-09-26 18:44:19 · 6699 阅读 · 2 评论 -
php 读取超大文件
PHP开发很多时候都要读取大文件,比如csv文件、text文件等。这些文件如果很大,比如10个G。这时,直接一次性把所有的内容读取到内存中计算不太现实。 遇到这种情况,往往觉得PHP太弱,实则不然。利用生成器(关键字yield)就能解决。 好了,上代码。<?php/** * Created by PhpStorm. * User: Administrator * Date: 2017原创 2017-12-08 23:16:59 · 8014 阅读 · 0 评论 -
yii2之学习笔记
如下内容为平时学的时候搜集内容,比较碎,现打包送上。希望能给学习yii2朋友些许帮助。 引入第三方库 composer http://www.yiichina.com/doc/guide/2.0/tutorial-yii-integration布局 不带布局return $this->renderPartial('index');带布局return $this->re原创 2018-01-20 22:55:50 · 420 阅读 · 0 评论 -
50个小技巧提高PHP执行效率
1、用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的”函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故 把函数加上了双引号)。2、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。3、row[‘id′]的速度是ro转载 2018-01-18 13:40:50 · 257 阅读 · 0 评论 -
各个语言擅长的应用场景
1、C C语言的应用领域极为广泛,从操作系统、嵌入式领域、数据库、服务器、单片机、编译器,到Linux开发等,几乎每个领域都有其身影。对于新手来说,C语言起步难度较大,然而一旦稳定掌握即可前途无忧,拥有3-5年开发C语言经验的程序员月薪约为10-15k,而拥有5-10年工龄的码农,月薪可达到25K-50K。C语言是一门非常基础的“必学语言”,硬件开发行业对于优秀的C语言开发者将是不错的选择方向原创 2018-01-18 15:01:31 · 19155 阅读 · 3 评论 -
微信小程序发送模板消息
微信小程序还提供了给客服发送模板消息的功能,以便商家给客户发送通知。官方文档https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/template-message.html使用效果具体步骤1、设置模板登录 https://mp.weixin.qq.com/“功能”-“模板消息”-“模板库”这...原创 2019-08-27 10:34:13 · 1205 阅读 · 0 评论