В PHP 5.3 там способ переименовать функцию или "сцепить" функцию.
Существует rename_function()
в "APD", который был поврежден с тех пор ~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 :)
Runkit trunk совместим с 5.3+.
svn checkout http://svn.php.net/repository/pecl/runkit/trunk runkit cd runkit phpize ./configure make && make install
Добавьте extension=runkit.so в php.ini (или runkit.ini в conf.d)
Для использования runkit_function_rename()
вам также придется перекомпилировать php с флагом конфигурации --enable-maintainer-zts
. (Будь ты проклят, zend!)