In PHP 5.3 gibt es eine Möglichkeit, eine Funktion umzubenennen oder eine Funktion zu "haken".
Es gibt die rename_function()
in "APD", die seit ~ 2004 unterbrochen wurde. Wenn Sie versuchen, es unter PHP 5.3 zu erstellen, erhalten Sie diesen Fehler:
'struct _zend_compiler_globals' has no member named 'extended_info'
Dies ist ein wirklich einfacher Fehler zu beheben, ändern Sie einfach diese Zeile:
GC(extended_info) = 1;
bis
CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;
Ich habe meine php.ini geändert und die APD erscheint in meinem phpinfo () wie es sollte. Wenn ich jedoch rename_function()
aufruft, wird die PHP-Seite nicht geladen und ich bekomme einen Segmentierungsfehler in meinem /var/log/apache2/error.log
.
Gibt es eine Lösung, um APD zu reparieren, um mit einer modernen Version von PHP zu arbeiten? Oder gibt es eine andere Methode, um Funktionen umzubenennen? Warum in der Welt ist ein wichtiges Merkmal nicht in PHP! ??!?! (Ich liebe Python:)
Die aktuelle Runkit-Erweiterung finden Sie auf Ссылка Es unterstützt alle aktuell verfügbaren PHP-Versionen (von 4.4 bis 5.4+). Dieses Runkit ist offiziell und wird unterstützt.
Mit freundlichen Grüßen, Dmitry Zenovich
Ich weiß, dass diese Frage ein wenig alt ist, aber ich suchte kürzlich nach einer Möglichkeit, Funktionen zum Testen umzubenennen und stieß auf ähnliche Schwierigkeiten mit APD.
Schließe schließlich die richtige Google-Suchanfrage an und finde eine weitere Option: Sebastian Bergmanns test_helpers-Erweiterung - es hat seine Eigenes rename_function()
, das scheint gut zu funktionieren, sowie einige andere nützliche Helfer zum Abfangen und Spotten von Dingen.
Bonus - ein relativ schmerzfreier Installationsvorgang:
%Vor% Und dann extension=test_helpers.so
zu deiner php.ini
Tags und Links php debugging php-extension pecl