[mapguide-users] PhpApi problem

Marcus Spurkel mspurkel at pacbell.net
Thu Jul 27 02:54:47 EDT 2006


That worked!  It compiles fine and I'm all good now. Thanks for your help.

-Marcus

Trevor Wekel wrote:

>Hi Marcus,
>
>"make clean" and "make" in Web/src/PhpApi should be enough to rebuild
>the Web Extensions API for PHP.  Check the timestamp on MgApi_wrap.cpp.
>It should be generated by "make".
>
>I suspect you should also be running into compilation problems if you've
>swapped out 5.0.5 with 5.1.4.  We applied some #ifndef statements to
>php.h in PHP 5.0.5 to work around header dependencies between PHP and
>ACE.  I would be surprised if these dependencies had been resolved.
>Here is a diff of the changes we made.  If php.h is similar in 5.1.4,
>you may be able to apply these changes to it.
>
>*** \php-5.0.5\main\php.h	Wed Jun 29 00:41:15 2005
>--- php.h	Thu Feb 23 04:25:52 2006
>***************
>*** 38,78 ****
>--- 38,82 ----
>  #include "zend_API.h"
>  
>  #undef sprintf
>  #define sprintf php_sprintf
>  
>  /* PHP's DEBUG value must match Zend's ZEND_DEBUG value */
>  #undef PHP_DEBUG
>  #define PHP_DEBUG ZEND_DEBUG
>  
>  #ifdef PHP_WIN32
>+ #ifndef PHPPROXYAPI_EXPORTS
>  #include "tsrm_win32.h"
>  #include "win95nt.h"
>+ #endif 
>  #	ifdef PHP_EXPORTS
>  #	define PHPAPI __declspec(dllexport)
>  #	else
>  #	define PHPAPI __declspec(dllimport)
>  #	endif
>  #define PHP_DIR_SEPARATOR '\\'
>  #define PHP_EOL "\r\n"
>  #else
>  #define PHPAPI
>  #define THREAD_LS
>  #define PHP_DIR_SEPARATOR '/'
>  #if defined(__MacOSX__)
>  #define PHP_EOL "\r"
>  #else 
>  #define PHP_EOL "\n"
>  #endif
>  #endif
>  
>+ #ifndef PHPPROXYAPI_EXPORTS
>  #include "php_regex.h"
>+ #endif 
>  
>  #if HAVE_ASSERT_H
>  #if PHP_DEBUG
>  #undef NDEBUG
>  #else
>  #ifndef NDEBUG
>  #define NDEBUG
>  #endif
>  #endif
>  #include <assert.h>
>***************
>*** 130,152 ****
>--- 134,158 ----
>  #undef strlcat
>  #define strlcat php_strlcat
>  #endif
>  
>  #ifndef HAVE_STRTOK_R
>  BEGIN_EXTERN_C()
>  char *strtok_r(char *s, const char *delim, char **last);
>  END_EXTERN_C()
>  #endif
>  
>+ #ifndef PHPPROXYAPI_EXPORTS
>  #ifndef HAVE_SOCKLEN_T
>  typedef unsigned int socklen_t;
>  #endif
>+ #endif 
>  
>  #define CREATE_MUTEX(a, b)
>  #define SET_MUTEX(a)
>  #define FREE_MUTEX(a)
>  
>  /*
>   * Then the ODBC support can use both iodbc and Solid,
>   * uncomment this.
>   * #define HAVE_ODBC (HAVE_IODBC|HAVE_SOLID)
>   */
>***************
>*** 382,402 ****
>--- 388,410 ----
>  #ifdef ZTS
>  #define VIRTUAL_DIR
>  #endif
>  
>  #include "php_streams.h"
>  #include "php_memory_streams.h"
>  #include "fopen_wrappers.h"
>  
>  
>  /* Virtual current working directory support */
>+ #ifndef PHPPROXYAPI_EXPORTS
>  #include "tsrm_virtual_cwd.h"
>+ #endif /* resolse TSRM conflicts */
>  
>  #include "zend_constants.h"
>  
>  /* connection status states */
>  #define PHP_CONNECTION_NORMAL  0
>  #define PHP_CONNECTION_ABORTED 1
>  #define PHP_CONNECTION_TIMEOUT 2
>  
>  #include "php_reentrancy.h"
>  
>
> 
>
>-----Original Message-----
>From: Marcus Spurkel [mailto:mspurkel at pacbell.net] 
>Sent: Tuesday, July 25, 2006 4:10 PM
>To: users at mapguide.osgeo.org
>Subject: Re: [mapguide-users] PhpApi problem
>
>Too many to count.  Many of the "'zend_xxx' was not declared in this
>scope" variety.  But I just realized something: all I did was swap out
>Oem/php with 5.1.4, then "make clean" and "make" in Web/src/PhpApi.  I
>probably have to go back farther than that, don't I?  Do I need to
>re-make the entire project?
>
>-Marcus
>
>Traian Stanev wrote:
>
>  
>
>>I recently replaced Oem/php with 5.1.4 and it compiled fine for me. But
>>    
>>
>
>  
>
>>I did that on Windows.
>>What kinds of errors are you getting?
>>
>>Traian
>>
>>-----Original Message-----
>>From: Marcus Spurkel [mailto:mspurkel at pacbell.net]
>>Sent: Tuesday, July 25, 2006 2:44 PM
>>To: users at mapguide.osgeo.org
>>Subject: [mapguide-users] PhpApi problem
>>
>>I'm getting a "undefined symbol: empty_string in Unknown on line 0" 
>>error when I try to load libphp_MapGuideApi.so into PHP.  It's probably
>>    
>>
>
>  
>
>>because I'm trying to use PHP 5.1.4, which has some significant changes
>>    
>>
>
>  
>
>>to the Zend code (among other things).  I tried replacing Oem/php with 
>>the latest source version from php.net and then re-making PhpApi but 
>>that generated a ton of errors.  Is there an easy way to get it to run 
>>with PHP 5.1.4, or will I need to back my version down to 5.0.5?
>>
>>-Marcus
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
>>For additional commands, e-mail: users-help at mapguide.osgeo.org
>>
>>
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
>>For additional commands, e-mail: users-help at mapguide.osgeo.org
>>
>>
>> 
>>
>>    
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
>For additional commands, e-mail: users-help at mapguide.osgeo.org
>
>
>  
>




More information about the Mapguide-users mailing list