ID: 8592 Updated by: sniper Reported By: [EMAIL PROTECTED] Old Status: Open Status: Closed Bug Type: Dynamic loading Operating System: Linux Redhat6.2 PHP Version: 4.0.4 New Comment:
This is fixed long time ago in CVS (can't remember if it's fixed in 4.0.6 too) Previous Comments: ------------------------------------------------------------------------ [2001-01-08 06:05:33] [EMAIL PROTECTED] Since PHP-4.0.4, The shared PHP extension module didn't work in Linux-box. Typical steps to build shared module are, 1. cd php-4.0.4/ext/pgsql 2. phpize 3. ./configure --with-pgsql php_config.h is build on php-4.0.4/ext/pgsql, it includes some important definition like #define HAVE_PGSQL 1. 4. make and pgsql.so is build on .libs/pgsql.so But, the command 'nm .libs/pgsql.so | grep zend' returned nothing. pgsql.so can't work as shared extension module. I think it is caused by the lack of HAVE_PGSQL definition. HAVE_PGSQL is defined in the local php_config.h (in php-4.0.4/ext/pgsql/). There is another php_config.h in /usr/include/php/main/. pgsql.c includes php.h (located in /usr/include/php/main), and php.h includes php_compat.h, and php_compat.h includes php_config.h (in Linux). For earlier version of php4, php_config.h is not located in /usr/include/php/main, but in /usr/include/php, so php_config.h included from php_compat.h is local one. But, php_compat.h includes /usr/include/php/main/php_config.h in php-4.0.4, because both files are in the same directory (/usr/include/php/main), so HAVE_PGSQL defined in local php_config.h was not defined when pgsql.c was compiled. I think main/php_config.h should move to another place or change include option to make shared extension module with phpize. ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=8592&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]