Bug#339621: [php-maint] Bug#339621: php5-dev: PHP_API_VERSION in 5.0.5-3 shows 20031224 but /usr/lib/php5 shows 20041030

Martijn Grendelman martijn at pocos.nl
Mon May 7 09:56:37 UTC 2007


Unfortunately, the 'phpize5' script, that is included in php5-dev (with
the latest version, 5.2.2-1) uses the following code to extract API
versions:

phpize_get_api_numbers()
{
  # extracting API NOs:
  PHP_API_VERSION=`grep '#define PHP_API_VERSION'
$includedir/main/php.h|sed 's/#define PHP_API_VERSION//'`
  ZEND_MODULE_API_NO=`grep '#define ZEND_MODULE_API_NO'
$includedir/Zend/zend_modules.h|sed 's/#define ZEND_MODULE_API_NO//'`
  ZEND_EXTENSION_API_NO=`grep '#define ZEND_EXTENSION_API_NO'
$includedir/Zend/zend_extensions.h|sed 's/#define ZEND_EXTENSION_API_NO//'`
}

As a result, modules that are prepared with 'dh-make-php' to be built
outside the php5 source, are built with the wrong API version, resulting
in an error like this, when trying to load the module:

Warning: dl(): U<89><E5>S<E8><AC>,<FF><FF><81><C3><9B>^S: Unable to
initialize module
Module compiled with module API=20020429, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=0
These options need to match

'phpize' should be fixed to use 'php-config5 --phpapi' instead. Looks
like '006-debian_quirks.patch' is a good place for that.

Best regards,

Martijn Grendelman




More information about the pkg-php-maint mailing list