重载失效

Ouverte
#29 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Bug
Clarté
À clarifier
Activité
À l'abandon
Stack technique
php
Domaine
tooling

Piste de recherche

Commencez par .watcher.php, composer.json et le point d’entrée server:watch appelé par composer run-script dev ; reproduisez le problème avec la configuration Fedora, PHP et fswatch indiquée. Suivez la façon dont les modifications dans app, config, extend et .env sont détectées, puis vérifiez que l’enregistrement d’un fichier surveillé déclenche un rechargement.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

操作系统:Fedora Linux 40 (Workstation Edition) 注: centos stream 10 根据本版本发行
内核版本:Linux 6.10.4-200.fc40.x86_64
开发环境:Linux x64
PHP 版本:8.3.7 | 8.3.10
fswatch 版本:1.14.0-12.fc40

启动方式(IDEA):Composer
Composer 版本:2.7.7
process-timeout: 0

.watcher.php

<?php
declare(strict_types=1);

use Hyperf\Watcher\Driver\FswatchDriver;

return [
    'driver' => FswatchDriver::class,
    'bin' => PHP_BINARY,
    'watch' => [
        'dir' => [
            'app',
            'config',
            'extend',
        ],
        'file' => [
            '.env'
        ],
        'scan_interval' => 1000,
    ],
    'ext' => [
        '.php',
        '.env'
    ],
];

composer.json:

"require": {
        "php": ">=8.3",
        "ext-gmp": "*",
        "ext-redis": "*",
        "endroid/qr-code": "^5.0",
        "hyperf/cache": "~3.1.0",
        "hyperf/command": "~3.1.0",
        "hyperf/config": "~3.1.0",
        "hyperf/database": "~3.1.0",
        "hyperf/db-connection": "~3.1.0",
        "hyperf/devtool": "^3.1",
        "hyperf/engine": "^2.10",
        "hyperf/framework": "~3.1.0",
        "hyperf/guzzle": "^3.1",
        "hyperf/http-message": "^3.1",
        "hyperf/http-server": "~3.1.0",
        "hyperf/logger": "~3.1.0",
        "hyperf/memory": "~3.1.0",
        "hyperf/paginator": "^3.1",
        "hyperf/phar": "^3.1",
        "hyperf/process": "~3.1.0",
        "hyperf/redis": "^3.1",
        "hyperf/validation": "^3.1",
        "hyperf/websocket-server": "^3.1",
        "khanamiryan/qrcode-detector-decoder": "^2.0",
        "spomky-labs/aes-key-wrap": "^7.0",
        "web-token/jwt-framework": "^4.0"
    },
    "require-dev": {
        "friendsofphp/php-cs-fixer": "^3.0",
        "hyperf/testing": "~3.1.0",
        "hyperf/watcher": "^3.1",
        "mockery/mockery": "^1.0",
        "phpstan/phpstan": "^1.0",
        "swoole/ide-helper": "^5.0"
    },
"dev": [
            "@close-dev",
            "@post-autoload-dump",
            "@php bin/hyperf.php server:watch"
        ],

控制台输出记录:
composer run-script dev

sh hyperf.sh
rm -rf runtime/container
@php bin/hyperf.php server:watch
[DEBUG] [command] Commands registered by Hyperf\Command\Listener\RegisterCommandListener
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\Command\Listener\RegisterCommandListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\Config\Listener\RegisterPropertyHandlerListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\DbConnection\Listener\RegisterConnectionResolverListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\ExceptionHandler\Listener\ExceptionHandlerListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\Paginator\Listener\PageResolverListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\ExceptionHandler\Listener\ErrorExceptionHandler listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by App\Listener\BeforeWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by App\Listener\BeforeWorkerStartListener listener.
Generating optimized autoload files
Generated optimized autoload files containing 5746 classes

Start server ...
[DEBUG] [command] Commands registered by Hyperf\Command\Listener\RegisterCommandListener
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\Command\Listener\RegisterCommandListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\Config\Listener\RegisterPropertyHandlerListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\DbConnection\Listener\RegisterConnectionResolverListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\ExceptionHandler\Listener\ExceptionHandlerListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\Paginator\Listener\PageResolverListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by Hyperf\ExceptionHandler\Listener\ErrorExceptionHandler listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by App\Listener\BeforeWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\BootApplication handled by App\Listener\BeforeWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeMainServerStart handled by Hyperf\Process\Listener\BootProcessListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[INFO] Worker#0 started.
[INFO] WebSocket Server listening at 0.0.0.0:9505
[INFO] HTTP Server listening at 0.0.0.0:9504
[INFO] HTTP Server listening at 0.0.0.0:9503
[INFO] HTTP Server listening at 0.0.0.0:9502
[INFO] HTTP Server listening at 0.0.0.0:9501
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[INFO] Worker#1 started.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[INFO] Worker#2 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[INFO] Worker#3 started.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[INFO] Worker#4 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[INFO] Worker#5 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[INFO] Worker#6 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[INFO] Worker#7 started.
[DEBUG] Event Hyperf\Framework\Event\OnManagerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\OnStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[INFO] Worker#8 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[INFO] Worker#9 started.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[INFO] Worker#10 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.
[DEBUG] Event Hyperf\Framework\Event\BeforeWorkerStart handled by Hyperf\Watcher\Listener\ReloadDotenvAndConfigListener listener.
[INFO] Worker#11 started.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\AfterWorkerStartListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener.
[DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\WebSocketServer\Listener\InitSenderListener listener.

问题:启动后,修改文件保存后,持续等待几分钟后仍然不会重载。

Langage dominant
PHP
Étoiles
17
Forks
12
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de hyperf/watcher

Toutes les issues de hyperf/watcher

Issues similaires

Plus d'issues PHP

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.