登录/注册

常见问题

Swoole 短名未关闭

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

您需要在您的 php.ini 配置文件增加 swoole.use_shortname = 'Off' 配置项

如果您使用的是 1.0.x 版本,这也可能是因为你按以下的方式设置了

// 在 1.0 系列版本下
// 这些都是错误的,注意 `大小写` 和 `引号`
swoole.use_shortname = 'off'
swoole.use_shortname = off
swoole.use_shortname = Off
// 下面的才是正确的
swoole.use_shortname = 'Off'

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

当然,也可以通过以下的命令来启动服务,在执行 PHP 命令时关闭掉 Swoole 短名功能

php -d swoole.use_shortname=Off bin/hyperf.php start

代理类缓存

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

代理类位置如下

runtime/container/proxy/

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

vendor/bin/init-proxy.sh

删除代理类缓存

rm -rf ./runtime/container/proxy

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

vendor/bin/init-proxy.sh && composer test

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

vendor/bin/init-proxy.sh && php bin/hyperf.php start

PHP7.3 下预先生成代理的脚本 执行失败

php bin/hyperf.php di:init-proxy 脚本在 PHP7.3Docker 打包时,会因为返回码是 1 而失败。

具体原因还在定位中

以下通过重写 init-proxy.sh 脚本绕过这个问题。

#!/usr/bin/env bash

php /opt/www/bin/hyperf.php di:init-proxy

echo Started.

对应的 Dockerfile 修改以下代码,省略无用的代码展示。

RUN composer install --no-dev 
    && composer dump-autoload -o 
    && ./init-proxy.sh
原文地址:https://www.bookstack.cn/read/hyperf-1.1.20/quick-start-questions.md
文章来源与用户投稿或网络采集,如果您是本文的作者,发现版权或转载方式问题请右侧邮箱联系管理员。

抢沙发

我们不是孤独的个体,留下足迹,保持联系,成为团体...
姓名
电子邮件
个人主页