自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天秤vs永恒

愿你走出半生,归来仍是少年。

  • 博客(40)
  • 收藏
  • 关注

原创 使用 Docker LNMP 部署 PHP 运行环境

简介Docker LNMP 是基于 Docker 的 PHP 集成开发环境。Github 地址:https://github.com/YanlongMa/docker-lnmp包含软件nginxphp 7.1mysqlredismongo下载 Docker LNMPdocker-lnmp 默认将同级目录映射到 php-fpm 容器的工作目录,在项目的同级目录下载 docke...

2019-06-22 14:03:05 322

原创 Chart.js 动态图表的使用

一、相关资料1. 简介Chart.js 是一个基于 HTML5 的简单的面向对象的图表库,支持包括 IE7/8 和所有现代浏览器。支持六种图标:曲线图(Linecharts)、柱状图(Barcharts)、雷达图(Radarcharts)、饼状图(Piecharts)、极坐标区域图(Polararea charts)以及圆环图(Doughnutcharts)。并且带有动画效果(animated...

2019-06-22 13:43:45 4555

原创 手把手教你使用 GitBook

一、简介GitBook 是一个支持用 MarkDown 编写文档的软件,支持输出 HTML、PDF、eBook 格式文档。作为开发者我们一般会用它来写一些技术和接口文档。GitBook 官网:https://www.gitbook.com二、安装1. 安装 Node.jsGitBook 是基于 Node.js 的命令行工具,需先下载安装 Node.js,检测是否安装成功:$ node ...

2019-01-29 15:52:07 724

原创 手把手教你发布自己的 Composer 包

一、前言Composer 是 PHP 用来管理依赖(dependency)关系的工具。我们不仅要学会使用别人提供的包,更要学会制作和分享自己的软件包,下面演示如何创建一个自己的 Composer 包。准备工作:注册 Github 账号注册 Packagist 账号二、实践本案例演示如何创建一个第三方消息推送(极光推送)的包。1. 创建 Github 仓库...

2018-04-21 16:38:24 1076

原创 PHP 基础篇 - PHP 中 DES 加解密详解

一、简介DES 是对称性加密里面常见一种,全称为 Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法。密钥长度是64位(bit),超过位数密钥被忽略。所谓对称性加密即加密和解密密钥相同,对称性加密一般会按照固定长度,把待加密字符串分成块,不足一整块或者刚好最后有特殊填充字符。跨语言做 DES 加密解密经常会出现问题,往往是填充方式不对、编码不一致或...

2018-03-24 12:18:51 759

原创 macOS 上安装 PECL

一、简介PECL(The PHP Extension Community Library)是 PHP 扩展的存储库,为 PHP 所有的扩展提供提供托管和下载服务。通过 PEAR(PHP Extension and Application Repository)的 Package Manager 的安装管理方式,可以对 PECL 扩展进行下载和安装。二、安装官方提供了 PEAR ...

2018-02-14 10:18:22 6011 2

原创 Yii2 教程 - yii2-redis 扩展详解

该教程已被合并到《Yii2 权威指南中文版》中!Yiichina 教程地址为《yii2-redis 扩展详解》!一、简介yii2-redis 扩展为 Yii2 框架提供了 redis 键值存储支持。包括缓存(Cache)、会话存储处理(Session),并实现了 ActiveRecord 模式,允许您将活动记录存储在 redis 中。相关链接yii2-redis ...

2018-02-07 22:32:40 257

原创 PHP 基础篇 - PHP 正则官方文档汇总

一、PCRE 正则语法下面是 PHP 的 PCRE 正则语法(模式语法)相关文档,详情请查阅相关链接:简介分隔符元字符转义序列(反斜线)Unicode字符属性锚句点字符类(方括号)可选路径(|)内部选项设置子组(子模式)重复/量词后向引用断言一次性子组条件子组注释递归模式性能二、PCRE 模式修饰符下面列出了当前可用的 PCRE 修饰符,

2018-02-06 23:25:18 180

原创 PHP 基础篇 - PHP 错误级别详解

一、前言最近经常看到工作 2 年左右的童鞋写的代码也会出现以静态方法的形式调用非静态方法,这是个 Deprecated 级别的语法错误,代码里不应该出现的。对方很郁闷,说:为什么我的环境可以正常运行呢?二、详解代码会不会报错,以及你能不能看到报错信息由 PHP 配置中以下两个参数影响,目前线上主流的配置如下(php.ini 文件中):error_reporting = E_ALL & ~E_DEPR

2017-12-26 21:18:52 317

原创 PHP 基础篇 - PHP 的 BC MATH 系列数学函数

用 PHP 提供的 BC MATH 系列数学函数可以解决上面的问题。对于任意精度的数学计算, BC MATH 提供了支持用字符串表示的任意大小和精度的数字的二进制计算,最多为2147483647-1(或0x7FFFFFFF-1)。

2017-12-15 11:36:39 393

原创 多说评论一次导回 Typecho 本地数据库

一、追忆往昔第一次接触社交化评论类产品大概是在2012年左右,当时国内知名度较高的有多说、友言等,国际上比较有名的有Disqus,这类产品的优点在此就不多说了。用过几款产品后,被多说漂亮的页面和体验所吸引,最终爱上了多说。开源的内容管理和博客系统换过很多,但评论只要能用多说,就一定用它。后来被 typecho 的精简吸引,本人的个人博客系统也从 wp 换到 typecho,评论也一直用的多说。但 t

2017-04-30 16:54:08 586

原创 使用 PHPStorm + Xdebug 实现断点调试(二)

一、配置 Xdebug配置 Xdebug 相关参数,在 php.ini 文件中新增如下配置,如果没安装的,请参考《PHP 安装 Xdebug扩展》:[xdebug]xdebug.remote_enable = onxdebug.remote_handler = dbgpxdebug.remote_mode = reqxdebug.remote_host = localhostxdebug.

2017-02-07 21:15:53 1958

原创 PHP 安装 Xdebug 扩展(一)

一、前言1. Xdebug 简介Xdebug 是一个开放源代码的 PHP 程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。当前最新版本为 Xdebug 2.5.0。2. Xdebug 相关资料官网:https://xdebug.org 官网文档:https://xdebug.org/docs3. 选择合适的版本如果不知道该下载哪个版本,官方提供了一个检测工具,只需

2017-02-05 23:33:22 680

原创 Laravel 中使用 Redis 数据库

一、前言Redis 是一个开源高效的键值对存储系统,它通常用作为一个数据结构服务器来存储键值对,它可以支持字符串、散列、列表、集合、有序集合。1. 安装 predis/predis在 Laravel 中使用 Redis 之前,你需要通过 Composer 来安装 predis/predis 包(~1.0):$ composer require predis/predis2. 配置Redis 的配置文

2017-01-21 15:36:42 3708

原创 PHP 安装 phpredis 扩展(二)

本文主要介绍为 PHP 安装 phpredis 扩展,并用 PHP 代码连接 Redis 服务器。一、安装 phpredis 扩展1. Linux、macOS 下安装#. 下载、解压、安装、编译:$ curl -O https://nodeload.github.com/nicolasff/phpredis/zip/master$ tar -zxf master$ cd phpredis-ma

2016-11-26 12:14:49 323

原创 Redis 安装(一)

一、前言安装 Redis 是开始 Redis 学习之旅的第一步,安装之前先来个简单的介绍。1. 版本规则Redis 约定次版本号(即第一个小数点后的数字)为偶数的版本是稳定版,如:2.6,2.8;奇数版本是非稳定版,如:2.7,2.9。推荐生产环境使用稳定版本,目前最新的稳定版本是 3.2.5。2. 操作系统Redis 兼容大部分 POSIX 系统 ,包括 Linux、macOS 等常用操作系统,在

2016-11-21 21:40:31 274

原创 macOS 中使用 phpize 动态添加 PHP 扩展的错误解决方法

使用 phpize 动态添加 PHP 扩展是开发中经常需要做的事情,但是在 macOS 中,首次使用该功能必然会碰到一些错误,本文列出了这些错误的解决方法。问题一:执行 phpize 报错如下:$ phpize grep: /usr/include/php/main/php.h: No such file or directorygrep: /usr/include/php/Zend/zend

2016-11-16 22:23:29 5243

原创 macOS 中的 Rootless 机制

一、前因苹果从 OS X El Capitan 10.11 系统开始使用了 Rootless 机制,可以将该机制理解为一个更高等级的系统的内核保护措施,系统默认将会锁定 /system、/sbin、/usr 这三个目录。二、后果Rootless 机制虽然在一定程度上增加了系统的安全性,但作为一名开发人员会经常的操作 /usr 这个目录,这个时候你会发现你使用的任何命令都会提示没有操作权限,即使使用

2016-11-15 23:46:08 752

原创 Homebrew - macOS 不可或缺的套件管理器

一、Homebrew 是什么?Unix/Linux 安装软件的时候有个很常见、也很令人头疼的事情,那就是软件包依赖。值得高兴的是,当前主流的 Linux 两大发行版本都自带了解决方案,Red hat 有 yum,Ubuntu 有 apt-get。macOS 也是 Unix 系系统,忧伤的是 macOS 没有提供类似的解决方案,幸运的是有第三方提供了解决方案。本文介绍的就是 macOS 上最受欢迎的

2016-11-15 23:41:19 309

原创 macOS 下配置 MAMP 开发环境(Mac + Apache + Mysql + PHP)

macOS 中已经内置了 PHP、Python、Ruby、Perl 等常用的脚本语言,以及 Apache HTTP 服务器,所以使用起来非常方便。本文以最新的 macOS Sierra 10.12 配置 MAMP 开发环境为例,本文同样适用其它 macOS 版本的配置,macOS Sierra 10.12 中内置的 PHP 版本为 5.6。一、配置ApachemacOS Sierra 已内置 Ap

2016-11-05 13:45:28 7053

原创 通过 U 盘启动重装 macOS 系统

重装系统是工作和生活中经常需要做的事情,作为一名开发人员,学会该技能你才是一名合格的程序猿!以后再也不会遇到“程旭元你会装系统吗?”的尴尬了!本文主要介绍怎样通过U盘启动重新安装 macOS 系统,以安装当前最新的 macOS Sierra 10.12 为例。一、准备工作1. 准备一个 8G 或以上的U盘,请备份U盘里面的数据,后面的操作会抹掉U盘中的数据; 2. 在 AppStore 中下载

2016-11-05 13:39:49 1614 2

原创 MAMP 环境下为 php 添加 pcntl 扩展

前言:pcntl 介绍 pcntl 扩展可以支持 PHP 的多线程操作。(非Unix类系统不支持此模块)phpize 介绍 phpize 可以用来给 PHP 动态的添加扩展。比如编译 PHP 时忘记添加某扩展,后来想添加该扩展,即可以使用 phpize 动态的添加该扩展。本文将介绍如何使用 phpize 给 Mac下的集成环境 MAMP 添加 PHP 的 pcntl 扩展。类 Unix

2016-08-27 10:55:32 870

原创 使用 Composer 安装 Laravel 框架

前言:1. Composer 安装 Laravel 有两种方式:第一种是通过 Composer 的 create-project 命令安装 Laravel 框架, 第二种是先通过 Composer 安装 Laravel 安装器,然后通过安装器安装 Laravel 框架。2. 为什么 Composer 可以安装 Laravel 框架呢?其实 Laravel框架也是一个 Composer包,我们可以通

2016-08-22 11:39:49 995

原创 Composer 常用命令总结(三)

init(初始化)该命令用于创建 composer.json 文件,并进行基础信息配置:$ composer init可以配置Package name、Description、Author、Minimum、Package Type、License、dependencies 及 dev dependencies 信息。完成后配置文件内容如下:{ "name": "test/test",

2016-08-22 10:50:41 368

原创 Laravel 5.2 教程 - 队列

一、简介Laravel 队列组件提供一个统一的 API 集成了许多不同的队列服务,队列允许你延后执行一个耗时的任务,例如延后至指定的时间才发送邮件,进而大幅的加快了应用程序处理请求的速度。由于本例子用到邮件功能,不了解的童鞋请移步(Laravel 5.2 教程 - 邮件)。二、配置1. 配置文件队列配置文件存放在config/queue.php。在该文件中你将会找到框架自带的每一个队列驱动的连接配置

2016-08-17 17:01:54 854

原创 Laravel 5.2 教程 - 文件上传

一、简介Laravel 有很棒的文件系统抽象层,是基于 Frank de Jonge 的 Flysystem 扩展包。 Laravel 集成的 Flysystem 提供了简单的接口,可以操作本地端空间、 Amazon S3 、 Rackspace Cloud Storage 。更方便的是,它可以非常简单的切换不同保存方式,但仍使用相同的 API 操作!默认使用本地端空间。当然,你也可以设置多组磁盘,

2016-08-17 17:01:14 496

原创 Laravel 5.2 教程 - 邮件

一、简介Laravel 的邮件功能基于热门的 SwiftMailer 函数库之上,提供了一个简洁的 API。Laravel为SMTP、Mailgun、Mandrill、Amazon SES、PHP的mail函数、以及sendmail提供了驱动,从而允许你快速通过本地或云服务发送邮件。本文通过介绍国内常用的SMTP方式来介绍 Laravel 中邮件功能的使用。二、配置邮件的配置文件在config/ma

2016-08-17 16:59:38 424

原创 Laravel 5.2 教程 - 数据填充

一、简介Laravel提供的填充类(seed),可以让大家很容易的实现填充测试数据到数据库。所有的填充类都位于database/seeds目录。填充类的类名完全由你自定义,但最好还是遵循一定的规则,比如可读性,例如UsersTableSeeder等。下面以创建学生表的填充为例,来介绍Laravel中数据填充的使用。(点击查看演示数据表结构)二、建立填充文件1. 使用Artisan的 make:see

2016-08-17 16:58:17 782

原创 Laravel 5.2 教程 - 迁移

一、简介迁移(Migrations)是一种数据库的版本控制。可以让团队在修改数据库结构的同时,保持彼此的进度一致。迁移通常会和 结构生成器 一起使用,可以简单的管理数据库结构。下面以创建学生表的迁移为例,来介绍Laravel中迁移的使用。(点击查看演示数据表结构)二、建立迁移文件1. 使用Artisan的 make:migration 命令生成students表的迁移文件1)生成一个最基本的迁移文件

2016-08-17 16:57:00 324

原创 Composer 中国全量镜像(二)

一、查看当前镜像地址在命令行输入如下命令,即可查看镜像地址:$ composer config -g repo.packagist{"type":"composer","url":"https://packagist.org","allow_ssl_downgrade":true}也可以使用 composer config -l -g 查看所有全局配置二、启用中国全量镜像服务:启用中国全量镜像服务

2016-08-06 08:31:38 416

原创 Composer 安装(一)

一、简介Composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。二、为什么要使用Composer你有一个项目依赖于若干个库。其中一些库依赖于其他库。你声明你所依赖的东西。Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。三、

2016-08-06 08:30:38 386

原创 iOS开发 - Swift使用GCD实现计时器功能

前言 开发中,经常会用到定时执行网络请求、倒计时、计时器等功能,本篇文章介绍在iOS开发中,Swift怎样使用GCD实现这些功能。执行一次下面的代码将会在5秒后执行,且只执行一次。let time: NSTimeInterval = 5.0let delay = dispatch_time(DISPATCH_TIME_NOW, Int64(time * Double(NSEC_PER_SEC

2016-07-14 10:50:05 2726

原创 iOS开发 - Swift实现检测网络连接状态及网络类型

一、前言 在移动开发中,检测网络的连接状态尤其检测网络的类型尤为重要。本文将介绍在iOS开发中,如何使用Swift检测网络连接状态及网络类型(移动网络、Wifi)。二、如何实现Reachability.swift 是一个使用Swift写的第三方网络检测类,可以用来检测网络连接状态及网络类型(移动网络、Wifi)功能。三、如何使用1. 使用Cocopod安装Reachability.swiftu

2016-06-24 17:56:04 3848

原创 iOS开发 - Swift使用JavaScriptCore与JS交互

一、前言 在这个提倡敏捷开发和H5横行的年代,原生App内嵌入一些H5页面已经成为一种流行的趋势。一套H5页面就可以适配复杂的iOS和Android页面,大量节省了开发和维护时间,如果本来就有移动端网页,只需简单适配即可完成,那我们何乐而不为呢?苹果也顺应了潮流,在iOS7中提供了JavaScriptCore框架用来与网页中的JS进行交互。还有Facebook推出的React Native,也给

2016-06-08 19:00:53 11042 4

原创 iOS开发 - CocoaPods安装和使用教程

一、CocoaPods简介1.什么是CocoaPodsCocoaPods是iOS的包管理工具。2.为什么要使用CocoaPods在开发iOS项目时,经常会使用第三方开源库,手动引入流程复杂,并且库之间还存在依赖关系,更增加了手动管理的难度。开源库如果升级了,你也想用最新版本,还需要重新手动导入,这大大增加了工作量。但用了CocoaPods后,安装和升级都只是一句命令的事情,让你可以专于业务本身。二、

2016-04-30 00:07:51 367

原创 Typecho - MyTagCloud标签云插件

一、前言: 标签云是博客、CMS类系统的常见功能,读者可以根据标签快速的查找和浏览自己喜欢的文章。个人很喜欢Typecho的简洁,但对于后台不能控制前台标签栏目的显示还是略表遗憾。令人高兴的是Typecho的插件机制可以让Typecho Fans很容易的开发出自己想要的插件,于是决定自己开发一个标签云插件。 该插件已被Typecho官方merge。二、资料:Typecho官方文档,

2016-04-23 21:01:50 1224

原创 iOS开发 - Swift实现清除缓存功能

前言: 开发移动应用时,请求网络资源是再常见不过的功能。如果每次都去请求,不但浪费时间,用户体验也会变差,所以移动应用都会做离线缓存处理,其中已图片缓存最为常见。 但是时间长了,离线缓存会占用大量的手机空间,所以清除缓存功能基本是移动应用开发的标配。实现:本文介绍在iOS开发中,Swift实现清除缓存功能。主要分为统计缓存文件大小和删除缓存文件两个步骤:1.统计缓存文件大小func fi

2016-04-20 17:03:46 3107

原创 搭建自己的Git服务器

前言: GitHub是一个免费托管开源代码的远程仓库,使用起来即方便又安全,但在国内有时访问巨慢,原因你懂得。还有一些公司和个人视源码如生命,既不想开源代码又不想给Github交保护费。这时搭建一个自己的Git服务器就很有必要了,下面介绍如何在CentOS上搭建自己的Git服务器。一.搭建Git服务器及使用1、安装Git执行以下命令安装git$ yum install curl-devel e

2016-04-16 14:40:38 346

翻译 Markdown - 语法简介

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-04-06 21:18:55 294

原创 微信使用篇 - 如何在订阅号与服务号之间做出选择

很多朋友问到过这个问题,给我的客户推荐哪种?我该选咋哪种?微信公众平台公布了公众号区分订阅号和服务号的政策之后,对于“土豪”企业来说,这一政策没有产生多大影响 — 土豪们会接不假思索的两个账号都开。然而对于“非土豪”企业来说,这简直是痛苦的开始,他们都深深的陷入了不知该如何抉择的困境。 下面我就说一下如何在这两种账号之间做出选择,以便将广大的企业主们从痛苦中解救出来。先来说说订阅号和服

2014-08-24 11:58:44 1464

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除