常见问题

Swoole 短名未关闭

  1. [ERROR] Swoole short name have to disable before start server, please set swoole.use_shortname = 'Off' into your php.ini.

这可能是因为你按以下的方式设置了

  1. // 这些都是错误的,注意 `大小写` 和 `引号`
  2. swoole.use_shortname = 'off'
  3. swoole.use_shortname = off
  4. swoole.use_shortname = Off
  5. // 下面的才是正确的
  6. swoole.use_shortname = 'Off'

注意该配置必须于 php.ini 内配置,无法通过 ini_set() 函数来重写

代理类缓存

代理类缓存一旦生成,将不会再重新覆盖。所以当你修改了已经生成代理类的文件时,需要手动清理。

代理类位置如下

  1. runtime/container/proxy/

重新生成缓存命令,新缓存会覆盖原目录

  1. php bin/hyperf.php di:init-proxy

删除代理类缓存

  1. rm -rf ./runtime/container/proxy

所以单测命令可以使用以下代替:

  1. php bin/hyperf.php di:init-proxy && composer test

同理,启动命令可以使用以下代替

  1. php bin/hyperf.php di:init-proxy && php bin/hyperf.php start