register_tick_function() not work in external file
Offen
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
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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