В PHP 5.3 есть способ переименовать функцию или «перехватить» функцию.
В «APD» есть rename_function()
, который был нарушен с ~ 2004 года. Если вы попытаетесь построить его на 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
.
Есть ли способ исправить APD для работы с современной версией PHP? Или есть другой способ переименовать функции? С какой стати жизненно важная особенность не в php! ??!?! (Должен любить python:)