随笔分类 -  PHP

摘要:半夜整理东西,发现一个以前没留意到的小问题。 PHP 7.0+ 里支持了函数(和方法)的返回值类型提示,上述第二种写法在解释运行时会触发一个 Fatal Error,要求返回值必须是 integer 类的一个实例: 当然,两者在强制类型转换时效果是一样的: 相关链接 PHP difference b 阅读全文
posted @ 2018-07-18 04:01 mingc 阅读(3582) 评论(1) 推荐(1)
摘要:起因 4年前电脑,配置不太好了,现有的 Homestead 运行起来太吃内存。在修改了 Homestead.yaml 文件里 memory 选项的内存配置为 1024 后,应用最新配置重启失败。 索性重新部署 Homestead,下载一个 3.0.0 版的 Box: 错误消息 The box 'la 阅读全文
posted @ 2018-07-12 02:16 mingc 阅读(1928) 评论(0) 推荐(0)
摘要:前言 记得最近好像有不只一个朋友问过 composer install 安装依赖时出现异常,导致项目无法运行。下面简单记录一下其中 2 个比较频繁问题的解决办法。 问题 & 解决 1、unzip依赖 异常消息:Unzip with unzip command failed, falling back 阅读全文
posted @ 2018-05-05 02:43 mingc 阅读(8302) 评论(0) 推荐(0)
摘要:问题 之前一直用的 Laravel 5.4,数据库也是直接写 sql 的,感觉可定制性更强,顺便锻炼下 sql。这次改用了 Laravel 5.5,索性用迁移建库试试,结果报错如下: SQLSTATE[HY000]: General error: 1215 Cannot add foreign ke 阅读全文
posted @ 2018-04-17 01:31 mingc 阅读(1557) 评论(0) 推荐(0)
摘要:思路 模拟 Linux,复制一个 composer 文件到 Git Bash 的 /usr 的子目录,并赋予执行权限。 解决 首先,请确定你的 composer.phar 文件路径。我的是: /d/wamp64/bin/php/php5.6.31/composer.phar (请把类似 D:\ 的盘 阅读全文
posted @ 2018-01-27 18:24 mingc 阅读(3016) 评论(0) 推荐(1)
摘要:思路 上一篇大概梳理了一下 GatewayWorker 的基础知识。这篇就来准备整合 GatewayWorker 到 Laravel。 GatewayWorker 是基于 Socket 监听的服务器框架,而 Laravel 是基于 HTTP 请求/响应模型的 Web 框架。所以一定要明白,两者的部署 阅读全文
posted @ 2018-01-24 03:05 mingc 阅读(4256) 评论(0) 推荐(0)
摘要:前言 本文的目的是基于 GatewayWorker 官方手册,梳理一次 GatewayWorker,并在实践中与 MVC 框架整合的思路(附最终的项目源码)。如果你已经理解了整合这一块儿的知识,那么就可以关掉这个网页了。时间蛮宝贵的~ 这篇是上篇,梳理 GatewayWorker 基础,下篇是 Ga 阅读全文
posted @ 2018-01-24 03:04 mingc 阅读(4381) 评论(0) 推荐(1)
摘要:2018-02-20 00:30:26 更新:推荐新扩展(极力推荐) 这篇文章里用的两个二维码扩展都有些问题和麻烦:phpqrcode(生成二维码)的源码有点小 bug; 而 php-zbarcode(识别二维码)需要其他开源套件和扩展模块的支持,编译起来很容易出问题,只支持 php5,而且 3 年 阅读全文
posted @ 2017-12-02 20:52 mingc 阅读(10041) 评论(20) 推荐(0)
摘要:一、简介 (本部分参考自 揭开Socket的神秘面纱 - 源码工作室) 请结合下图 Socket 抽象层的位置来理解。Socket 是应用层和 TCP/IP 协议族进行通信的中间软件抽象层,是一组接口。在设计模式中,就是一个门面模式,它把复杂的实现封装在接口后面,而只提供了一组简单的接口给用户调用。 阅读全文
posted @ 2017-10-16 16:44 mingc 阅读(573) 评论(0) 推荐(0)
摘要:前言 PHP 中的数组(尤其关联数组)是经常使用的 —— 因为方便。在一些框架中也经常见到返回数组格式的配置参数。然而有些时候可能需要对象而非数组类型的配置参数,在查阅网络资料后找到了方法,作以记录。 1. 强制转换 2. stdClass类 stdClass 是 PHP 的一个基类,几乎所有的类都 阅读全文
posted @ 2017-10-13 10:34 mingc 阅读(7030) 评论(0) 推荐(0)
摘要:前言 绝大多数网站都集成了第三方登录,降低了注册门槛,增强了用户体验。最近看了看 QQ 互联上 QQ 登录的接口文档。接入 QQ 登录的一般流程是这样的:先申请开发者 -> 然后创建应用(拿到一组 AppId 和 AppKey)-> 获取 access_token -> 获取 openid -> 调 阅读全文
posted @ 2017-10-13 00:58 mingc 阅读(1330) 评论(1) 推荐(1)
摘要:在测试微信支付 - 模式二 - 扫码支付时,遇到如下错误: curl出错,错误码:60 这是因为在 WxPay.Api.php 文件中做了严格的 ssl 证书校验: 关闭这两个选项,修改如下: 参考链接:微信支付curl出错及错误码解决方案 阅读全文
posted @ 2017-09-18 17:13 mingc 阅读(722) 评论(0) 推荐(0)
摘要:正则规则中有“|”时,会引起解析错误: 使用数组语法可以解决: 阅读全文
posted @ 2017-09-10 17:51 mingc 阅读(1657) 评论(0) 推荐(0)
摘要:使用事务之前,先确保数据库的存储引擎支持事务操作。 MyISAM:不支持事务,主要用于读数据提高性能 InnoDB:支持事务、行级锁和并发 Berkeley DB:支持事务 ThinkPHP5 使用事务有 3 个常用方法: 小例子: 参考链接:tp3模型的事务支持:TP模型 事务支持 阅读全文
posted @ 2017-09-09 02:00 mingc 阅读(10297) 评论(0) 推荐(0)
摘要:昨天遇到一个错误。前端发起 ajax,后端 php 返回 json 数据。结果在 firebug 里得到一条错误信息: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data 解决方案: 在  阅读全文
posted @ 2017-09-06 19:38 mingc 阅读(1761) 评论(0) 推荐(0)
摘要:一、 Composer 安装 phpmailer 二、ThinkPHP 中封装邮件服务类 我把它封装在扩展目录 extend/Mail.php 文件里,内容如下: 注意:如果发送附件,建议使用英文路径。中文路径可能会导致附件发送失败,收到的邮件没有附件。 上面需要的一些配置参数,我把它们放在扩展配置 阅读全文
posted @ 2017-08-26 17:57 mingc 阅读(870) 评论(0) 推荐(0)
摘要:PHP 可以使用 file_get_content() 函数抓取网页内容,但却无法进行更复杂的处理,譬如文件的上传或下载、 Cookie 操作等等。而 cURL 提供了这些功能。 一、cURL简介 在 PHP 中,cURL 是一个扩展库。它可以与各种类型的服务器、使用各种类型的协议进行连接和通讯。 阅读全文
posted @ 2017-08-25 04:18 mingc 阅读(1211) 评论(1) 推荐(0)
摘要:在 Laravel 项目完成部署到服务器、数据库导入成功后 后台登录报错: 原因是 Laravel 的 APP_KEY 和 encrypt() 函数加密的问题。(encrypt() 是 Laravel 的助手函数,相当于 Crypt::encrypt() 的简写形式) 一旦用 php artisan 阅读全文
posted @ 2017-05-25 20:28 mingc 阅读(3696) 评论(0) 推荐(0)
摘要:1、应用生产环境 在 .env 文件里设置 APP_ENV=production 2、关闭调试模式 在 .env 文件中设置 APP_DEBUG = false 3、生成 APP_KEY 使用 Artisan 命令:php artisan key:generate 4、优化自动加载 使用 Compo 阅读全文
posted @ 2017-05-25 17:17 mingc 阅读(2509) 评论(0) 推荐(0)
摘要:一、Debugbar安装 参考:Laravel 调试利器 —— Laravel Debugbar 扩展包安装及使用教程 的“2、安装”部分 二、DbExporter安装 参考:Laravel 扩展推荐: DbExporter 逆向 Migration 和 db:seed 注意: 1、默认安装 1.1 阅读全文
posted @ 2017-05-25 16:59 mingc 阅读(780) 评论(0) 推荐(0)