Devil May Code...

Vergil's Blog

开发者工具控制台是调试前端Web应用程序时可用的最强大的工具之一。 控制台有一个API,它提供了一些使调试更容易的方法。 看到开发者使用console.log()console.dir()来调查问题并不罕见; 但是开发者工具控制台还有更多的提供。

在本博文中,你将学习到如何使用控制台API提供的方法来调试Web应用程序。 有些浏览器比其他浏览器支持更多的功能,所以我会指出任何兼容性问题。

让我们开始吧!

阅读剩余部分...


今天在写Laravel+Vue项目时,发现Laravel-mix发现对ES6的object spread操作符「...」不支持。升级Laravel-mix后未果。

后来搜索发现通过添加插件解决:

// package.json
"dependencies": {
  "babel-plugin-transform-object-rest-spread": "^6.23.0"
},
"babel": {
  "plugins": ["transform-object-rest-spread"]
}

我的项目使用PayPal作为支付功能,使用了官方提供的PayPal-PHP-SDK

在本地和测试服务器上使用一直没有什么问题,然而在正式服务器上报了以下错误:

Getter function for 'payer' in 'PayPal\Api\Payment' class should have a proper return type

经过一番追踪代码发现\PayPal\Common\ReflectionUtil这个类使用了ReflectionMethod反射获取传入对象的getXxxx方法并返回他们的注释

那么,获取注释而已,到底问题出在哪呢?

为了优化性能,原来我把Opcache的save-comments关闭了。

修改一下配置:

[opcache]
opcache.save_comments=1
opcache.load_comments=1

总结。Opcache虽好,但要慎用。。。


今天在服务器部署一个API服务时无法进行OAuth2认证。

我的服务器环境是Nginx(php-fpm)+Apache2.4。经过排查,发现被Apache去掉了AuthorizationHTTP header。

在Apache的配置文件httpd.conf.htaccess添加以下配置即可:

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

参考网址:https://stackoverflow.com/questions/37158714/enable-apache-http-authorization-header


Singleton(单例) —— 对象创建型模式

在GoF的《设计模式:可复用面向对象软件的基础》如下定义:

意图

保证一个类仅有一个实例,并且提供一个访问它的全局访问点。

适用性

在下面的情况下可以使用Singleton模式

  • 当类只能有一个实例切客户可以从一个众所周知的访问点访问它时。
  • 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。

阅读剩余部分...


今天帮客户配置了一台阿里云主机LNMP环境,特此记录。

云主机配置如下:

  • 系列 II 通用型n1 2核4GB
  • SSD云盘 40GB
  • 高效云盘 100GB
  • Ubuntu 16.04 64位

阅读剩余部分...


前言

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

使用虚拟机搭建本地开发环境,安全地与本地操作系统隔离开,让开发环境和生产环境保持一致。

使用Windows系统开发PHP的小伙伴们,更加强烈推荐使用虚拟机的开发环境:

  • Windows大小写不敏感,很容易因为这个问题出现错误而无法得知
  • 很多软件只有Linux版,或者Windows版本不完善(例如Nngix,Memcached,Redis)
  • 部分扩展模块不支持(如memcached,pcntl,ZendOpcache, swoole
  • 大部分的PHP生产环境都运行在Linux上,保证代码兼容性

阅读剩余部分...


How To Ask Questions The Smart Way

Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen

本指南英文版版权为 Eric S. Raymond, Rick Moen 所有。

原文网址:http://www.catb.org/~esr/faqs/smart-questions.html

Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu

本中文指南是基于原文 3.10 版以及 2010 年由 Gasolin 所翻译版本的最新翻译;

协助指出翻译问题,发Issue,或直接发Pull Request给我。

原文版本历史

目录

阅读剩余部分...


Powered by Typecho.