配置

在前面我们已经讲过,初始化 SDK 的时候方法就是创建一个 EasyWeChat\Foundation\Application 实例:

  1. use EasyWeChat\Foundation\Application;
  2. $options = [
  3. // ...
  4. ];
  5. $app = new Application($options);
  6. /**
  7. * 如果想要在Application实例化完成之后, 修改某一个options的值,
  8. * 比如服务商+子商户支付回调场景, 所有子商户订单支付信息都是通过同一个服务商的$option 配置进来的,
  9. * 当oauth在微信端验证完成之后, 可以通过动态设置merchant_id来区分具体是哪个子商户
  10. */
  11. $app['config']->set('oauth.callback','wechat/oauthcallback/'. $sub_merchant_id->id);

那么配置的具体选项有哪些,下面是一个完整的列表:

  1. <?php
  2. return [
  3. /**
  4. * Debug 模式,bool 值:true/false
  5. *
  6. * 当值为 false 时,所有的日志都不会记录
  7. */
  8. 'debug' => true,
  9. /**
  10. * 账号基本信息,请从微信公众平台/开放平台获取
  11. */
  12. 'app_id' => 'your-app-id', // AppID
  13. 'secret' => 'your-app-secret', // AppSecret
  14. 'token' => 'your-token', // Token
  15. 'aes_key' => '', // EncodingAESKey,安全模式与兼容模式下请一定要填写!!!
  16. /**
  17. * 日志配置
  18. *
  19. * level: 日志级别, 可选为:
  20. * debug/info/notice/warning/error/critical/alert/emergency
  21. * permission:日志文件权限(可选),默认为null(若为null值,monolog会取0644)
  22. * file:日志文件位置(绝对路径!!!),要求可写权限
  23. */
  24. 'log' => [
  25. 'level' => 'debug',
  26. 'permission' => 0777,
  27. 'file' => '/tmp/easywechat.log',
  28. ],
  29. /**
  30. * OAuth 配置
  31. *
  32. * scopes:公众平台(snsapi_userinfo / snsapi_base),开放平台:snsapi_login
  33. * callback:OAuth授权完成后的回调页地址
  34. */
  35. 'oauth' => [
  36. 'scopes' => ['snsapi_userinfo'],
  37. 'callback' => '/examples/oauth_callback.php',
  38. ],
  39. /**
  40. * 微信支付
  41. */
  42. 'payment' => [
  43. 'merchant_id' => 'your-mch-id',
  44. 'key' => 'key-for-signature',
  45. 'cert_path' => 'path/to/your/cert.pem', // XXX: 绝对路径!!!!
  46. 'key_path' => 'path/to/your/key', // XXX: 绝对路径!!!!
  47. // 'device_info' => '013467007045764',
  48. // 'sub_app_id' => '',
  49. // 'sub_merchant_id' => '',
  50. // ...
  51. ],
  52. /**
  53. * Guzzle 全局设置
  54. *
  55. * 更多请参考: http://docs.guzzlephp.org/en/latest/request-options.html
  56. */
  57. 'guzzle' => [
  58. 'timeout' => 3.0, // 超时时间(秒)
  59. //'verify' => false, // 关掉 SSL 认证(强烈不建议!!!)
  60. ],
  61. ];

:heart: 安全模式下请一定要填写 aes_key

日志文件

配置文件里的/tmp/...是绝对路径

如果在 windows 下,去把它改成C:\foo\bar的形式,如果是 Linux ,你已经懂了……

如果需要按日独立存储,可以配置成'file' => storage_path('/tmp/easywechat/easywechat_'.date('Ymd').'.log'),

其它同理……