阿里云 ECS SMTP 发送邮件

因业务需要,今天做了一个简单的邮件发送功能,通过 PHPMailer 来实现。本地测试正常,部署到阿里云 ECS 后,报错:SMTP connect() failed ,本文简单记录下解决方案。 ...

July 10, 2020 · 2 分钟 · 773 字

PHP SM2 国密算法与 CURL SSL 双向认证

最近在对接民生银行的电子账户接口,按照民生的要求,调用接口需要涉及 SM2 国密算法及 SSL 双向认证。目前银行端提供的只有 JAVA 版的 SDK,把 PHP 作为开发语言的我们表示很受伤。本文就针对涉及的两个点进行说明,简单汇总下 PHP 语言中的解决方案。 ...

June 12, 2020 · 5 分钟 · 2461 字

阿里云消息队列AMQP版之延迟消息

近几天在基于阿里云 AMQP 版消息队列开发业务,之所以选择这个而不是阿里云主推的 RocketMQ ,是因为我想用的是 RabbitMQ 。选择阿里云而非自己部署,无非是为了节省运维成本。相对来说官方的 PHP 版本 Demo 非常简陋,而且虽然官方宣传完全兼容 RabbitMQ ,但还是有一些坑的。 ...

May 22, 2020 · 2 分钟 · 926 字

PHP 之 for 循环

for 循环在很多的编程语言中都被支持,是一种常见的循环用法,也算是我们学习每门编程语言中最基础的知识点。但正是因为基础,所以才容易被忽略,久而久之,甚至会误解。本文 PHPHa 就对 PHP 中的 for 循环进行复习,不求温故而知新,但求能矫枉过正。 ...

August 9, 2019 · 2 分钟 · 992 字

PHP 常用的 11 种设计模式

本文简单介绍下,在 PHP 开发中涉及的常用的设计模式。包含:工厂模式、单例模式、注册器模式、适配器模式、策略模式、数据对象映射模式、观察者模式、原型模式、装饰器模式、迭代器模式、代理模式等。 ...

August 4, 2019 · 6 分钟 · 2913 字

PHP代码风格规范[PSR-2]

本篇规范是 PSR-1 基本代码规范的继承与扩展。 关键词 “必须”(“MUST”)、“一定不可/一定不能”(“MUST NOT”)、“需要”(“REQUIRED”)、 “将会”(“SHALL”)、“不会”(“SHALL NOT”)、“应该”(“SHOULD”)、“不该”(“SHOULD NOT”)、 “推荐”(“RECOMMENDED”)、“可以”(“MAY”)和”可选“(“OPTIONAL”)的详细描述可参见 RFC 2119 。 ...

December 13, 2015 · 7 分钟 · 3250 字

PHP基本代码规范[PSR-1]

本篇规范制定了代码基本元素的相关标准, 以确保共享的PHP代码间具有较高程度的技术互通性。 关键词 “必须”(“MUST”)、“一定不可/一定不能”(“MUST NOT”)、“需要”(“REQUIRED”)、 “将会”(“SHALL”)、“不会”(“SHALL NOT”)、“应该”(“SHOULD”)、“不该”(“SHOULD NOT”)、 “推荐”(“RECOMMENDED”)、“可以”(“MAY”)和”可选“(“OPTIONAL”)的详细描述可参见 RFC 2119 。 ...

December 13, 2015 · 3 分钟 · 1449 字

基于Redis实现PHP消息队列

所谓消息队列,即在消息的传输过程中保存消息的容器。最常见的使用场景是,通过引入消息队列来对耗时的任务就行异步处理,以及应对高并发问题,即所谓的削峰作用。在以PHP为主要开发语言的项目中,我们可以选择的软件有很多,最常使用的有三种:基于 Redis 的 List数据类型 来用PHP实现入列出列,基于 Memcached 的扩展应用 MemcacheQ,还有更强大和流行的RabbitMQ。 ...

November 27, 2015 · 2 分钟 · 707 字

CentOS环境PHP安装Memcache扩展

首先需要说明的是,memcache与memcached的区别,memcache是客户端的扩展,memcached是服务端。 ...

November 15, 2015 · 1 分钟 · 246 字

Memcached常规应用与分布式部署方案

下面天涯 [PHPHA.COM] 介绍下 Memcached 的最常规的应用及分布式部署方案。相关内容参考了凹凸曼写的 Memcached 使用与实践章节。至于 Memcached 的安装及基本使用,这里不做介绍,有需要可以借助 Google。 ...

November 15, 2015 · 4 分钟 · 1797 字