У меня есть библиотека, которую я успешно использую с PHP 5.1.6 с помощью некоторого кода оболочки, сгенерированного SWIG (v1.3.40).
Я только что обновился до PHP 5.3.2 и вижу следующую ошибку:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/myLib_php.so' - /usr/lib/php/modules/myLib_php.so: undefined symbol: zend_error_noreturn in Unknown on line 0
В ходе расследования выясняется, что код оболочки, созданный SWIG (myLib_wrap.c), включает в себя вызовы функции PHP: zend_error_noreturn и что эта функция недоступна в PHP 5.3.2?
Кто-нибудь видел эту проблему раньше?
Кажется, все работает, если я вручную обновляю сгенерированный код, чтобы вместо вызова zend_error_noreturn он просто вызывал zend_error . Этот подход безопасен?