問題

PHP 5.3では、関数の名前を変更する方法や関数を "フック"する方法があります。

2004年から壊れている "APD"の中にrename_function()があります。PHP 5.3でビルドしようとすると、次のエラーが表示されます。

'struct _zend_compiler_globals' has no member named 'extended_info'

これは修正するのが本当に簡単なエラーです。この行を変更するだけです。

GC(extended_info) = 1;

CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;

私はphp.iniを変更し、APDは私のphpinfo()に表示されます。しかし、私がrename_function()を呼び出すと、PHPページは読み込まれず、/var/log/apache2/error.logでセグメンテーション違反が発生します。

現代版のPHPで動作するようにAPDを修正する方法はありますか?または、関数の名前を変更する別の方法がありますか?なぜ地球上で重要な機能がPHPではないのですか? !?! (GottaはPythonを愛しています:)

  ベストアンサー

upto-date runkit 拡張モジュールは、 http://github.com/zenovich/runkit 現在リリースされている PHP のすべてのバージョン(4.4 から 5.4+)をサポートしています。

敬具、 ドミトリー・ゼノヴィッチ

  同じタグがついた質問を見る

phpdebuggingpeclphp-extension