摘要: 0x00 描述 宿主机是 mac mini,构建的项目在 docker 中,所以需要在 PHPStorm 上配置 Xdebug 进行远程代码调试。 0x01 环境 0x03 下载安装 Xdebug 下载 Xdebug 首先要确定 Xdebug 的版本要和环境中的 PHP 版本相对应。 进入 dock阅读全文
posted @ 2018-11-23 20:12 黄棣-dee 阅读(239) 评论(0) 编辑
摘要: 0X00 测试环境 CentOS 6.6 + Redis 3.2.10 + PHP 7.0.7(+ phpredis 4.1.0) 0X01 什么是分布式锁 redis 官网上对分布式锁的描述(https://redis.io/topics/distlock)是: Distributed locks阅读全文
posted @ 2018-07-21 18:39 黄棣-dee 阅读(242) 评论(0) 编辑
摘要: MySQL 事务的 ACID 特性中,D 代表持久性(Durability):在使用 InnoDB 引擎时,当返回客户端一个成功完成事务的确认时, InnoDB 就会保证数据的一致性,即使该数据在此时还没有写入磁盘,因为 InnoDB 引擎的重做日志已经连续地记录了已完成的事务。InnoDB 不是在阅读全文
posted @ 2017-02-16 00:22 黄棣-dee 阅读(370) 评论(0) 编辑
摘要: 今天在往本地导数据表的时候老是报错: 报错的数据表字段: 同事说同一个 sql 文件他可以导成功。猜可能是数据库版本的问题,同事的是 5.6,我查了下本地的数据库版本是 5.5.53。网上查了一下,果然是版本的问题,5.5 和 5.6 在 TIMESTEMP 的行为上有所不同,5.6.5 之前的版本阅读全文
posted @ 2017-02-07 19:52 黄棣-dee 阅读(6142) 评论(0) 编辑
摘要: 数据库事务特性 ACID,即 A(Atomicity) -原子性 C(Consistency)- 一致性 I(Isolation) - 隔离性 D(Durability) - 持久性 MySQL 提供了 4 种不同的隔离级别,用来支持多版本并发控制(MVCC,Multi-Version Concur阅读全文
posted @ 2017-02-06 00:55 黄棣-dee 阅读(267) 评论(0) 编辑
摘要: 在 Zend Studio(12.5)下可以通过 Run(Ctrl + F11)把 PHP 程序的执行结果通过 Debug Output 显示在 IDE 中,这样比开启 Server,再打开浏览器执行要快捷很多。在 Sublime Text3 中,可以通过 Sublime 的 Build Syste阅读全文
posted @ 2017-01-26 14:08 黄棣-dee 阅读(5438) 评论(0) 编辑
摘要: 在页面中调用的服务较多时,使用并行方式,即使用 curl_multi_* 系列函数耗时要小于 curl_* 系列函数。 测试数据库选择 MySQL 官方网站的样本数据库 sakila,下载地址:http://dev.mysql.com/doc/index-other.html 测试页面需要调用 3 阅读全文
posted @ 2016-10-08 21:44 黄棣-dee 阅读(699) 评论(0) 编辑
摘要: ① 安装 Git Linux 做为服务器端系统,Windows 作为客户端系统,分别安装 Git 服务器端: 安装完后,查看 Git 版本 客户端: 下载 Git for Windows,地址:https://git-for-windows.github.io/ 安装完之后,可以使用 Git Bas阅读全文
posted @ 2016-08-28 23:36 黄棣-dee 阅读(95588) 评论(12) 编辑
摘要: 之前的做法是客户端提交代码之后,再去服务器端项目中 svn up 一下来更新代码,让服务器端的项目更新到最新版本。可以编写一个 post-commit 钩子脚本来实现服务器端代码的自动更新,它在 SVN 每次 svn commit 之后运行。 服务器端 SVN 版本仓库中,进入某个项目,有一个 ho阅读全文
posted @ 2016-08-22 14:33 黄棣-dee 阅读(4010) 评论(0) 编辑
摘要: 今天有网友出了道题: 输出结果: 看了一下是无限级分类的原理,可以用递归来实现: 输出:阅读全文
posted @ 2016-08-21 22:13 黄棣-dee 阅读(332) 评论(1) 编辑
摘要: 如果需要记录 MySQL 的查询语句,需要在配置文件(Linux 下为 my.cnf,Windows 下为 my.ini)中添加配置: general_log = ON 表示开启日志记录, general_log_file 为日志保存的路径。 如果需要记录慢查询,则需要在配置文件中添加配置: slo阅读全文
posted @ 2016-08-21 22:00 黄棣-dee 阅读(1701) 评论(0) 编辑
摘要: Tips: 组件:打包的代码,可以是一系列相关的类(class)、接口(interface)、特性(trait),用于解决某个具体的问题。组件中的类、接口、特性通常放在同一个命名空间中。 Packagist:https://packagist.org/,该网站收集 PHP 组件,可以在上面查找项目中阅读全文
posted @ 2016-08-06 14:06 黄棣-dee 阅读(8318) 评论(0) 编辑
摘要: 需求: 有一个数组 ['a', 'b', 'c', 'cd'] 需要从数组中取出任意 m 个不重复的元素,列出所有的可能性(也不需要出现重复的组合例如['a', 'b' ,'c'] 和 ['a', 'c', 'b'])。 可以使用递归来完成: 如果允许包含重复的组合,把 line:17 的条件注释即阅读全文
posted @ 2016-06-22 01:12 黄棣-dee 阅读(154) 评论(0) 编辑
摘要: 在记忆中 PHP 简单变量的拷贝是按值传递,数组和对象的拷贝是按引用传递,即通过引用来实现。 简单变量和对象好理解: 对象 $a 和 对象 $b 的内存地址指向了同一个地方,即针对 $a 和 $b 所做的操作都针对同一个实例。 PHP 中可以通过 clone 关键字按值拷贝对象: 数组: 这样看,数阅读全文
posted @ 2016-06-21 22:55 黄棣-dee 阅读(4759) 评论(0) 编辑
摘要: jQuery File Upload 的 GitHub 地址:https://github.com/blueimp/jQuery-File-Upload 插件描述:jQuery File Upload 是一个 jQuery 图片上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小阅读全文
posted @ 2016-06-17 00:30 黄棣-dee 阅读(8502) 评论(0) 编辑
摘要: 之前一直对 PHP 中关于字符串的算数运算隐式类型转换规则和递增/递减操作符针对字符串的操作比较模糊,今天总结一下。 一、隐式转换 二进制算术运算符的隐式类型转换规则(http://php.net/manual/zh/language.types.string.php) 总结一下就是浮点型 > 整型阅读全文
posted @ 2016-06-11 01:05 黄棣-dee 阅读(665) 评论(0) 编辑
摘要: PHP 中以下值得计算结果为 false: 例如 字符串"0": 空数组: 空对象在 PHP 5 以上版本中计算结果不为 false: 注意:字符串"0.0"、字符串"00"、包括一个空格字符的字符串" "、字符串"false" 、整型 -1 都不为 false: 正确地检查一个变量是否为空应该使用阅读全文
posted @ 2016-06-09 01:02 黄棣-dee 阅读(12745) 评论(0) 编辑
摘要: 原书用 Python 与 Redis 进行交互,我用 PHP 来实现。 首先在 Linux 开启 Redis 服务: 如果显示: 说明 Redis 服务已经开启,端口号 6379 redis.php init_data.php 用于添加案例的数据 vote.php 用于给文章投票,其中文章 id(a阅读全文
posted @ 2016-06-06 00:25 黄棣-dee 阅读(276) 评论(0) 编辑
摘要: 最早看到 “贴吧神兽” 验证码是在百度贴吧,吧主防止挖坟贴,放出了究极神兽验证码 例如: 地址:http://tieba.baidu.com/p/3320323440 可以用 PHP + JavaScript 实现该种类型的验证码。 使用 jQuery 版本:jQuery 1.9.1 框架使用 Th阅读全文
posted @ 2016-06-04 19:48 黄棣-dee 阅读(357) 评论(0) 编辑
摘要: 场景:发送一个验证码到手机,当验证码发出时,会提示隔 1 分钟之后可以再次发送。通常有这几种方式防止恶意请求,一是再次发送之前需要输入验证码,二是在指定的时间间隔之内不能再次发送。 有些网站在 1 分钟的间隔之间之内发送按钮的确是禁用了,但是只要刷新浏览器,或者通过 F12 工具修改 Button 阅读全文
posted @ 2016-05-31 22:54 黄棣-dee 阅读(1110) 评论(1) 编辑
摘要: ThinkPHP 3.2.3 自带的验证码类位于 /ThinkPHP/Library/Think/Verify.class.php,字体文件位于 /ThinkPHP/Library/Think/Verify/ 可以在 Verify.class.php 文件内进行修改,也可以单独写一个类继承自带的验证阅读全文
posted @ 2016-05-30 22:37 黄棣-dee 阅读(678) 评论(0) 编辑
摘要: SSO 即 Single Sign On(单点登录)。 一、二级域名之间的单点登录 不需要用到JSONP 或者 p3p 协议,直接使用 COOKIE 就行了,因为顶级域名相同就能实现 COOKIE 共享。 例如有两个项目,域名分别是 www.site1.com 和 mall.site1.com,分别阅读全文
posted @ 2016-05-18 17:57 黄棣-dee 阅读(1600) 评论(1) 编辑
摘要: 本地建立两个域 www.site1.com 和 www.site2.com 一、同域交互 site1/iframe/index.html 和 site1/iframe/index2.html index.html: index2.html 访问 http://www.site1.com/iframe阅读全文
posted @ 2016-05-17 23:16 黄棣-dee 阅读(123) 评论(0)  编辑
摘要: JSON (JavaScript Object Notation) is a lightweight data-interchange format. 即 JSON 是一种轻量级的数据交换格式。 1. JSON 的结构 JSON 构建于于两种(除去简单值)结构(JSON is built on tw阅读全文
posted @ 2016-05-17 13:43 黄棣-dee 阅读(2634) 评论(0) 编辑
摘要: 输出: 参考: <PHP Cookbook>3'rd阅读全文
posted @ 2016-05-09 15:40 黄棣-dee 阅读(521) 评论(0) 编辑
摘要: 参考: <PHP Cookbook>3'rd阅读全文
posted @ 2016-05-09 11:15 黄棣-dee 阅读(11724) 评论(0) 编辑
摘要: PHP >= 5.5 时,可以使用 password_hash() 和 password_verify() 来对用户的密码进行加密和验证,例如在用户注册(加密存储)和登陆(验证): 说明:password_hash() 详情见手册:http://php.net/manual/zh/function.阅读全文
posted @ 2016-05-09 10:04 黄棣-dee 阅读(2327) 评论(0) 编辑
摘要: 之前一直使用 VMware 作为虚拟机,这几天看<跟阿铭学Linux>,里面用的是虚拟机是 Oracle VirtualBox,也跟着安装配置一个,但是比较坑的是照着上面的配置折腾了很久才搞定,不是上不了网就是不能通过 SSH 连接服务器。现在记录一下配置网络的过程。 使用 Oracle Virtu阅读全文
posted @ 2016-05-08 15:07 黄棣-dee 阅读(15031) 评论(2) 编辑
摘要: 一、成比例缩小图像 说明: ImageCopyResampled() 函数用于重采样拷贝部分图像并调整大小 ImageColorAllocateAlpha() 函数用于为一副图像分配颜色 + Alpha ImageAlphaBlending() 函数设定图像的混色模式 二、缩小为固定大小的矩形 说明阅读全文
posted @ 2016-05-05 23:35 黄棣-dee 阅读(208) 评论(0) 编辑
摘要: 一、图片水印 说明: ImageCopyMerge() 函数允许将一个图像放置在另一个图像上面,它的最后一个参数用来设置不透明度(0 - 100 之间,越小水印越淡) 第 5、6、7、8 个参数表示水印的大小(0,0,ImageSX($stamp),ImageSY($stamp) 会复制整个水印图像阅读全文
posted @ 2016-05-05 23:28 黄棣-dee 阅读(197) 评论(0) 编辑
摘要: 下载 PHPExcel(https://github.com/PHPOffice/PHPExcel) 把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下 一、导入 Excel 数据 控制器自定,这里用 IndexController.class.php 输出: 需要导阅读全文
posted @ 2016-05-04 22:28 黄棣-dee 阅读(4193) 评论(0) 编辑
摘要: SwiftMailer 下载地址:https://github.com/swiftmailer/swiftmailer 版本:swiftmailer-5.x 把压缩包解压到 /ThinkPHP/Library/Vendor 中。 配置文件 config.php /Application/Home/C阅读全文
posted @ 2016-05-01 23:51 黄棣-dee 阅读(1370) 评论(6) 编辑
摘要: 一. 使用 PHP 内置的 mail() 函数 1. Windows 下 ① 在 Windows 下使用 PHP 内置的 mail() 函数发送邮件,需要先安装 sendmail(下载地址:http://glob.com.au/sendmail/) 把下载下来的 sendmail.zip 解压到自定阅读全文
posted @ 2016-05-01 14:55 黄棣-dee 阅读(2936) 评论(0) 编辑
摘要: 例: 说明: preg_split() 函数中使用的正则表达式匹配 HTML 标签 可以这样理解: 但是这种方法无法高亮最后一个 Herring,因为它的首字母是大写的。要完全不区分大小写的更改,需要把 str_replace() 方法 改为 preg_replace() 方法: 参考: <PHP 阅读全文
posted @ 2016-04-19 23:13 黄棣-dee 阅读(253) 评论(0) 编辑
摘要: 类: 使用: 参考: <PHP Cookbook>3'rd阅读全文
posted @ 2016-04-16 23:31 黄棣-dee 阅读(271) 评论(0) 编辑
摘要: 开发过程中需要对用户的输入进行转义,不论是安全地显示用户在表单提交中输入的数据,还是在处理 sql 语句时,进行安全地转义可以有效避免跨站脚本攻击(XSS)和 SQL 注入。 1. 使用 htmlentities() 和 htmlspecialchars() 在处理用户提交的表单数据时,先将用户的输阅读全文
posted @ 2016-04-11 21:02 黄棣-dee 阅读(140) 评论(0) 编辑
摘要: 几个经过封装的方法: 1.使用 array_multisort() 函数 说明:在 multi_array_sort 的自定义方法中,$key_array 完成对年龄的一维数组的排序,再使用 array_multisort() 函数对原数组进行排序。 array_multisort() 可以用来一次阅读全文
posted @ 2016-04-09 20:22 黄棣-dee 阅读(184) 评论(0) 编辑
摘要: 需求: 有两个多维数组 需要将两个数组合并,并且根据 'age' 从小到大进行排序,也就是最终的数组是: 有几种思路: 1. 利用 sort() 函数对年龄进行排序 2. 使用冒泡排序代替 sort() 函数(冒泡排序比 sort() 函数更高效) 3. 稍复杂 4. 把年龄作为索引,使用 ksor阅读全文
posted @ 2016-04-08 22:54 黄棣-dee 阅读(2853) 评论(0) 编辑
摘要: PHP 过滤器(Filter)用于验证和过滤来自非安全来源的数据,比如用户的输入,使用过滤器扩展可以使数据过滤更轻松快捷。要求的 PHP 版本是 PHP 5 >= 5.2.0,PHP 7 和 Filter 有关的函数包括 其中 filter_input(int $type, string $vari阅读全文
posted @ 2016-04-03 14:13 黄棣-dee 阅读(1767) 评论(1) 编辑
摘要: PHP 中的 $_REQUEST 变量是指 HTTP Request 变量。 $_REQUEST 变量中包含哪些值,需要根据 php.ini 中的 request_order 设置,我测试的环境是 PHP 5.5.12 和 php 5.6.9,其中 request_order 的设置都是: G 代表阅读全文
posted @ 2016-04-02 12:02 黄棣-dee 阅读(1018) 评论(0) 编辑
访客数:AmazingCounters.com
2016/05/17 起统计