[CentOS-devel] [PHP 5.2.6] API definition

Thu Mar 12 20:30:15 UTC 2009
Paulo Martinez <pm at afm-koeln.de>

Am 12.03.2009 um 21:13 schrieb Paulo Martinez:

> Am 12.03.2009 um 19:46 schrieb Remi Collet:
>
>>> PHP Warning:  PHP Startup: mhash: Unable to initialize module 
>>> \nModule
>>> compiled with module API=20050922, debug=0, thread-safety=0\nPHP
>>> compiled with module API=20060613, debug=0, thread-safety=0\nThese
>>> options need to match\n in Unknown on line 0
>>
>> This should be detect before installation, not on apache start...
>>
>> That's why Fedora 5.2.x php package provides the new
>> 	php(zend-abi) = 20060613
>>
>> Which should be required by all pecl extension
>> /etc/rpm/macros.php (in php-devel) provides usefull macros for this.
>
>
> It should be enough to specify Require/Provides-tags. As done in
> php-5.2.6-2.el5s2.src.rpm and php-mcrypt (src: php-extras) via
>
>   %define apiver xxxxxxx
>
> php-5.2.6-2.el5s2.src.rpm defines apiver 20041225.
> And here comes my question: It defines this ^^ ?
>
>   rpm -q php-common-5.2.6-2.el5s2 --provides | grep api
>   php(api) = 20041225
>   php-api = 20041225
>
> so far on rpms site. But
>
>   php -i | grep -P 'PHP API|PHP Version'
>   PHP Version => 5.2.6
>   PHP API => 20041225

Paulo you fool:

   php -i | grep -P 'PHP E|PHP Version'
   PHP Version => 5.2.6
   PHP Extension => 20060613

Log entry (API=20060613) confused me.

P.M. :)


> contrary to above log errors (API=20060613).
>
> Anyway, it explains why ex. php-mcrypt did't bleated at
> installation time about different APIs - it was satisfied.
>
>
> php-mcrypt (src: php-extras) define apiver on compile time
>
> %global apiver	%((echo 0; php -i 2>/dev/null | sed -n 's/^PHP API
> => //p') | tail -1)
>
>
> Besides of php packages in extras repos. Is the
> apiver-definition in php-5.2.6-2.el5s2 correct?