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]