php / php/php-src

register_tick_function() not work in external file

Offen
#19,275 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Feature Status: Needs Triage
Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.1k
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
96

Beschreibung

+ php main.php | grep f2 || echo "f2 function not appear"
f2 function not appear

Why?

Here are some details

+ ls -1
f2.php
main.php



+ cat main.php 
<?php
declare(ticks=1);
require 'f2.php'; // external file

register_tick_function(
    function () {
        debug_print_backtrace();
        echo "\n";
    }
);

function f1() {
    f2();
}

f1();



+ cat f2.php 
<?php
declare(ticks=1);
function f2() {}



+ php main.php 
#0 /tmp/tmp.UFjE757TrJ/main.php(9): {closure}()

#0 /tmp/tmp.UFjE757TrJ/main.php(13): {closure}()
#1 /tmp/tmp.UFjE757TrJ/main.php(16): f1()

#0 /tmp/tmp.UFjE757TrJ/main.php(16): {closure}()

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Führen Sie zunächst die gemeldete Reproduktion php main.php | grep f2 || echo "f2 function not appear" aus und untersuchen Sie main.php zusammen mit der extern erforderlichen f2.php. Vergleichen Sie die Tick-Callbacks rund um den Aufruf von f2() und stellen Sie fest, ob der fehlende Callback erwartet wird oder auf einen Laufzeitfehler hindeutet; dokumentieren Sie das bestätigte Verhalten und fügen Sie gegebenenfalls einen gezielten Regressionstest hinzu.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.