阿里云 ECS SMTP 发送邮件
因业务需要,今天做了一个简单的邮件发送功能,通过 PHPMailer 来实现。本地测试正常,部署到阿里云 ECS 后,报错:SMTP connect() failed ,本文简单记录下解决方案。 ...
因业务需要,今天做了一个简单的邮件发送功能,通过 PHPMailer 来实现。本地测试正常,部署到阿里云 ECS 后,报错:SMTP connect() failed ,本文简单记录下解决方案。 ...
最近在对接民生银行的电子账户接口,按照民生的要求,调用接口需要涉及 SM2 国密算法及 SSL 双向认证。目前银行端提供的只有 JAVA 版的 SDK,把 PHP 作为开发语言的我们表示很受伤。本文就针对涉及的两个点进行说明,简单汇总下 PHP 语言中的解决方案。 ...
近几天在基于阿里云 AMQP 版消息队列开发业务,之所以选择这个而不是阿里云主推的 RocketMQ ,是因为我想用的是 RabbitMQ 。选择阿里云而非自己部署,无非是为了节省运维成本。相对来说官方的 PHP 版本 Demo 非常简陋,而且虽然官方宣传完全兼容 RabbitMQ ,但还是有一些坑的。 ...
最近有同事反馈,发现使用 Laravel/Lumen 框架的项目中,日志文件( storage/logs/laravel.log | storage/logs/lumen.log )权限莫名其妙变为 root:root ,导致程序运行时写入失败而报 500 错误。 ...
数组需要一块连续的内存空间来存储,对内存的要求比较高。而链表恰恰相反,它并不需要一块连续的内存空间,它通过指针将一组零散的内存块串联起来使用。链表结构五花八门,三种最常见的链表结构,它们分别是:单链表、双向链表和循环链表。本文来看最简单、最常用的单链表。 ...
for 循环在很多的编程语言中都被支持,是一种常见的循环用法,也算是我们学习每门编程语言中最基础的知识点。但正是因为基础,所以才容易被忽略,久而久之,甚至会误解。本文 PHPHa 就对 PHP 中的 for 循环进行复习,不求温故而知新,但求能矫枉过正。 ...
数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。PHPHa 通过本文简单介绍下数组的定义以及用 PHP 代码模拟数组的相关操作。 ...
本文简单介绍下,在 PHP 开发中涉及的常用的设计模式。包含:工厂模式、单例模式、注册器模式、适配器模式、策略模式、数据对象映射模式、观察者模式、原型模式、装饰器模式、迭代器模式、代理模式等。 ...
依赖注入和控制反转是对同一件事情的不同描述,从某个方面讲,就是它们描述的角度不同。 ...
SOLID 是 面向对象编程 和 面试对象设计 的五个基本原则,应用这五个原则能创建一个易于维护和扩展的软件系统。SOLID 可以指导代码重构和在迭代的过程中进行代码清扫,以使得软件源代码清晰可读和具有良好的扩展性。在测试驱动开发中是典型应用场景,并且也是敏捷开发和自适应软件开发基本原则的重要组成部分。 ...