Author Topic: Apache httpd 2.4.68  (Read 186 times)

Igor

  • Full Member
  • ***
  • Posts: 158
  • Karma: +20/-0
Apache httpd 2.4.68
« on: August 26, 2026, 02:00:26 pm »
Hi all!

I`m porting Apache httpd version 2.4.68 and have archieved the following results.
The server has ben successfully built, starts, and processes HTTP requests. External modules are successfully connected.
However, I can`t connect the  php7_module ported by Paul Smedley. An error occurs.
Please help me figure this out.

Steven Levine

  • Full Member
  • ***
  • Posts: 159
  • Karma: +17/-0
Re: Apache httpd 2.4.68
« Reply #1 on: August 26, 2026, 10:26:51 pm »
Hi Igor,

I recommend you update to

  07-04-23  21:14      13,531,108     76  php-7.4.32-os2-debug-20230705.zip

from

  https://smedley.id.au/tmp/php-7.4.32-os2-debug-20230705.zip

This build matches the current sources at

  https://github.com/psmedley/php-7-os2

which will make your exceptions easier to analyze.

The php sources contain lots of static functions which do not always get encoded into the HLL debug data as well as one might wish.
This means you have to map from the source line numbers to the actual functions by.  The following is the actual call path that triggered the exception:

<pre>
 Trap  ->  BA9EC001   PHP7      0001:009AC001  zend_alloc.c#2189 _format_httpd_os2_timestamp + 718 0001:009AB8E9 (U:\dev\php-7-os2\Zend\zend_alloc.c)
                                               zend_mm_init() + ???

 0012F9F8  BA9EC1F2   PHP7      0001:009AC1F2  zend_alloc.c#3112 _format_httpd_os2_timestamp + 909 0001:009AB8E9 (U:\dev\php-7-os2\Zend\zend_alloc.c)
                                               alloc_globals_ctor() + ??? -> zend_mm_init()

 0012FA38  BA990CFC   PHP7      0001:00950CFC  TSRM.c#322 _tsrm_startup - 1C6 0001:00950EC2 (U:\dev\php-7-os2\TSRM\TSRM.c)
                                                 tsrm_update_active_threads() + ??? -> resource_types_table[j].ctor(p->storage[j])

 0012FA88  BA9913E4   PHP7      0001:009513E4  TSRM.c#443 _ts_allocate_fast_id + DC 0001:00951308 (U:\dev\php-7-os2\TSRM\TSRM.c)

</pre>

When debugging, I recommend using idebug and setting both StartServers and MaxThreads to one.  It makes the running under idebug a lot easier.

Also, if you are not familiar with idebug's child debugging feature, you will need to learn to use it since you will be
debugging the child httpd process in most cases.