php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8592 couldn't make shared extension module using phpize.
Submitted: 2001-01-08 06:05 UTC Modified: 2001-10-30 22:56 UTC
From: louis at cityfujisawa dot ne dot jp Assigned:
Status: Closed Package: Dynamic loading
PHP Version: 4.0.4 OS: Linux Redhat6.2
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
25 - 11 = ?
Subscribe to this entry?

 
 [2001-01-08 06:05 UTC] louis at cityfujisawa dot ne dot jp
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.


 






Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-10-30 22:56 UTC] sniper@php.net
This is fixed long time ago in CVS (can't remember if 
it's fixed in 4.0.6 too)

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Mar 28 14:01:29 2024 UTC