Re my problem with Apache dying when I try and load the PHP module, it was
suggested to me that I should run strace on Apache when it is and isn't
trying to load PHP. Thanks to John Holden for the suggestion

Well....

To keep the trace relatively simple, I actually did a ktrace (it's 'ktrace' on
OpenBSD, not 'strace') when just asking apache to do a syntax check. The
syntax check fails when I include the 'LoadModule libphp4.so' line.

So, the command line was:

ktrace httpd -t

To compare like with like, I ran this with the 'LoadModule access_module' and
then again with 'LoadModule php4_module'.

This is what I got. When asked to load the PHP module, apache seems to then go and 
search /usr/lib and /usr/local/lib. I'm assuming it's trying to resolve some 
dependencies arrising from the PHP module, but I have no idea what they might be. Am I 
missing some obvious dependencies ? What could apache be looking for ?

regards,

Rich.

=========================================================
(1) LoadModule access_module ...'

--snip--
   218 httpd    CALL  read(0x5,0x3c0720c8,0x1000)
   218 httpd    GIO   fd 5 read 314 bytes

     "# Apache 2 config

        ErrorLog logs/error_log

        LogLevel debug

        ServerRoot "/usr/local/apache2"

        User httpd
        Group httpd

        PidFile logs/httpd.pid

        LoadModule access_module      modules/mod_access.so

        # Dynamic Shared Object (DSO) Support
        # LoadModule php4_module        modules/libphp4.so

        Listen 192.168.0.2:80

        # EOF

       "
   218 httpd    RET   read 314/0x13a
   218 httpd    CALL  sigprocmask(0x1,0xffffffff)
   218 httpd    RET   sigprocmask 0
   218 httpd    CALL  mprotect(0x3c01f000,0x1000,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x3c01f000,0x1000,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  sigprocmask(0x3,0)
   218 httpd    RET   sigprocmask -65793/0xfffefeff
   218 httpd    CALL  sigprocmask(0x1,0xffffffff)
   218 httpd    RET   sigprocmask 0
   218 httpd    CALL  mprotect(0x3c01f000,0x1000,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x3c01f000,0x1000,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  sigprocmask(0x3,0)
   218 httpd    RET   sigprocmask -65793/0xfffefeff
   218 httpd    CALL  sigprocmask(0x1,0xffffffff)
   218 httpd    RET   sigprocmask 0
   218 httpd    CALL  mprotect(0x3c01f000,0x1000,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x3c01f000,0x1000,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  sigprocmask(0x3,0)
   218 httpd    RET   sigprocmask -65793/0xfffefeff
   218 httpd    CALL  sigprocmask(0x1,0xffffffff)
   218 httpd    RET   sigprocmask 0
   218 httpd    CALL  mprotect(0x2946f000,0x1000,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x2946f000,0x1000,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  sigprocmask(0x3,0)
   218 httpd    RET   sigprocmask -65793/0xfffefeff
   218 httpd    CALL  stat(0x3c0731f0,0xcfbefc88)
   218 httpd    NAMI  "/usr/local/apache2"
   218 httpd    RET   stat 0
   218 httpd    CALL  sigprocmask(0x1,0xffffffff)
   218 httpd    RET   sigprocmask 0
   218 httpd    CALL  mprotect(0x3c01f000,0x1000,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x3c01f000,0x1000,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  sigprocmask(0x3,0)
   218 httpd    RET   sigprocmask -65793/0xfffefeff
   218 httpd    CALL  sigprocmask(0x1,0xffffffff)
   218 httpd    RET   sigprocmask 0
   218 httpd    CALL  mprotect(0x2946f000,0x1000,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x2946f000,0x1000,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  sigprocmask(0x3,0)
   218 httpd    RET   sigprocmask -65793/0xfffefeff
  218 httpd    CALL  open(0x3c073330,0,0)
   218 httpd    NAMI  "/usr/local/apache2/modules/mod_access.so"
   218 httpd    RET   open 6
   218 httpd    CALL  read(0x6,0xcfbeeb64,0x1000)
   218 httpd    GIO   fd 6 read 4088 bytes
       "\^?ELF\^A\^A\^A\0\0\0\0\0\0\0\0\0\^C\0\^C\0\^A\0\0\0P
--snip-- - binary image data

      \M-6\0\^A\0\0\M^KM\bQ\M-h\M-i\M-}\M^?\M^?\M^C\M-D\^P\M^E\M-@"
   218 httpd    GIO   fd 6 read 8 bytes
       "t\^Z\M^C\M-D\M-|W\M^?\M-6"
   218 httpd    RET   read 4096/0x1000
   218 httpd    CALL  mquery(0,0x2000,0x5,0,0x6,0,0,0)
   218 httpd    RET   mquery 123121664/0x756b000
   218 httpd    CALL  mquery(0x2756b000,0x1000,0x1,0x10,0xffffffff,0,0,0)
   218 httpd    RET   mquery 659992576/0x2756b000
   218 httpd    CALL  mquery(0x2756c000,0x1000,0x3,0x10,0xffffffff,0,0,0)
   218 httpd    RET   mquery 659996672/0x2756c000
   218 httpd    CALL  mquery(0x2756d000,0x1000,0x3,0x10,0xffffffff,0,0,0)
   218 httpd    RET   mquery 660000768/0x2756d000
   218 httpd    CALL  mquery(0x2756e000,0x1000,0x3,0x10,0xffffffff,0,0,0)
   218 httpd    RET   mquery 660004864/0x2756e000
   218 httpd    CALL  mmap(0x756b000,0x2000,0x5,0x12,0x6,0,0,0)
   218 httpd    RET   mmap 123121664/0x756b000
   218 httpd    CALL  mmap(0x2756b000,0x1000,0x1,0x12,0x6,0,0x2000,0)
   218 httpd    RET   mmap 659992576/0x2756b000
   218 httpd    CALL  mmap(0x2756c000,0x1000,0x3,0x12,0x6,0,0x2000,0)
   218 httpd    RET   mmap 659996672/0x2756c000
   218 httpd    CALL  mmap(0x2756d000,0x1000,0x3,0x12,0x6,0,0x2000,0)
   218 httpd    RET   mmap 660000768/0x2756d000
   218 httpd    CALL  mmap(0x2756e000,0x1000,0x3,0x12,0x6,0,0x2000,0)
   218 httpd    RET   mmap 660004864/0x2756e000
   218 httpd    CALL  close(0x6)
   218 httpd    RET   close 0
   218 httpd    CALL  mprotect(0x756b000,0x10b0,0x7)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x2756b000,0x160,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x756b000,0x10b0,0x5)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x2756b000,0x160,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x756b000,0x10b0,0x7)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x2756b000,0x160,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x756b000,0x10b0,0x5)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x2756b000,0x160,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x2756d000,0x1000,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  sigprocmask(0x1,0xffffffff)
   218 httpd    RET   sigprocmask 0
   218 httpd    CALL  mprotect(0x3c01f000,0x1000,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x3c01f000,0x1000,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  sigprocmask(0x3,0)
   218 httpd    RET   sigprocmask -65793/0xfffefeff
   218 httpd    CALL  sigprocmask(0x1,0xffffffff)
   218 httpd    RET   sigprocmask 0
   218 httpd    CALL  mprotect(0x2946f000,0x1000,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x2946f000,0x1000,0x1)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  sigprocmask(0x3,0)
   218 httpd    RET   sigprocmask -65793/0xfffefeff
   218 httpd    CALL  sigprocmask(0x1,0xffffffff)
   218 httpd    RET   sigprocmask 0
   218 httpd    CALL  mprotect(0x2756d000,0x1000,0x3)
   218 httpd    RET   mprotect 0
   218 httpd    CALL  mprotect(0x2756d000,0x1000,0x1)

--snip-- - continues....

=========================================================
(2) LoadModule php4_module ...'

12265 httpd    CALL  read(0x5,0x3c0720c8,0x1000)
12265 httpd    GIO   fd 5 read 314 bytes
      "# Apache 2 config

        ErrorLog logs/error_log

        LogLevel debug

        ServerRoot "/usr/local/apache2"

        User httpd
        Group httpd

        PidFile logs/httpd.pid

        # LoadModule access_module      modules/mod_access.so

        # Dynamic Shared Object (DSO) Support
        LoadModule php4_module        modules/libphp4.so

        Listen 192.168.0.2:80

        # EOF

       "
 12265 httpd    RET   read 314/0x13a
 12265 httpd    CALL  sigprocmask(0x1,0xffffffff)
 12265 httpd    RET   sigprocmask 0
 12265 httpd    CALL  mprotect(0x3c01f000,0x1000,0x3)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  mprotect(0x3c01f000,0x1000,0x1)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  sigprocmask(0x3,0)
 12265 httpd    RET   sigprocmask -65793/0xfffefeff
 12265 httpd    CALL  sigprocmask(0x1,0xffffffff)
 12265 httpd    RET   sigprocmask 0
 12265 httpd    CALL  mprotect(0x3c01f000,0x1000,0x3)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  mprotect(0x3c01f000,0x1000,0x1)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  sigprocmask(0x3,0)
 12265 httpd    RET   sigprocmask -65793/0xfffefeff
 12265 httpd    CALL  sigprocmask(0x1,0xffffffff)
 12265 httpd    RET   sigprocmask 0
 12265 httpd    CALL  mprotect(0x3c01f000,0x1000,0x3)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  mprotect(0x3c01f000,0x1000,0x1)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  sigprocmask(0x3,0)
 12265 httpd    RET   sigprocmask -65793/0xfffefeff
 12265 httpd    CALL  sigprocmask(0x1,0xffffffff)
 12265 httpd    RET   sigprocmask 0
 12265 httpd    CALL  mprotect(0x26974000,0x1000,0x3)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  mprotect(0x26974000,0x1000,0x1)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  sigprocmask(0x3,0)
 12265 httpd    RET   sigprocmask -65793/0xfffefeff
 12265 httpd    CALL  stat(0x3c0731f0,0xcfbf9944)
 12265 httpd    NAMI  "/usr/local/apache2"
 12265 httpd    RET   stat 0
 12265 httpd    CALL  sigprocmask(0x1,0xffffffff)
 12265 httpd    RET   sigprocmask 0
 12265 httpd    CALL  mprotect(0x3c01f000,0x1000,0x3)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  mprotect(0x3c01f000,0x1000,0x1)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  sigprocmask(0x3,0)
 12265 httpd    RET   sigprocmask -65793/0xfffefeff
 12265 httpd    CALL  sigprocmask(0x1,0xffffffff)
 12265 httpd    RET   sigprocmask 0
 12265 httpd    CALL  mprotect(0x26974000,0x1000,0x3)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  mprotect(0x26974000,0x1000,0x1)
 12265 httpd    RET   mprotect 0
 12265 httpd    CALL  sigprocmask(0x3,0)
 12265 httpd    RET   sigprocmask -65793/0xfffefeff
 12265 httpd    CALL  open(0x3c073328,0,0)
12265 httpd    NAMI  "/usr/local/apache2/modules/libphp4.so"
 12265 httpd    RET   open 6
 12265 httpd    CALL  read(0x6,0xcfbf8820,0x1000)
 12265 httpd    GIO   fd 6 read 4088 bytes
       "\^?ELF\^A\^A\^A\0\0\0\0\0\0\0\0\0\^

--snip-- binary image data

12265 httpd    GIO   fd 6 read 8 bytes
       "\0\0\0\0\M-G\^B\0\0"
 12265 httpd    RET   read 4096/0x1000
 12265 httpd    CALL  mquery(0,0xf7000,0x5,0,0x6,0,0,0)
 12265 httpd    RET   mquery 54980608/0x346f000
 12265 httpd    CALL  mquery(0x2346f000,0x27000,0x1,0x10,0xffffffff,0,0,0)
 12265 httpd    RET   mquery 591851520/0x2346f000
 12265 httpd    CALL  mquery(0x23496000,0xe000,0x3,0x10,0xffffffff,0,0,0)
 12265 httpd    RET   mquery 592011264/0x23496000
 12265 httpd    CALL  mquery(0x234a4000,0x2000,0x3,0x10,0xffffffff,0,0,0)
 12265 httpd    RET   mquery 592068608/0x234a4000
 12265 httpd    CALL  mquery(0x234a6000,0x1000,0x3,0x10,0xffffffff,0,0,0)
 12265 httpd    RET   mquery 592076800/0x234a6000
 12265 httpd    CALL  mquery(0x234a7000,0x5000,0x3,0x10,0xffffffff,0,0,0)
 12265 httpd    RET   mquery 592080896/0x234a7000
 12265 httpd    CALL  mmap(0x346f000,0xf7000,0x5,0x12,0x6,0,0,0)
 12265 httpd    RET   mmap 54980608/0x346f000
 12265 httpd    CALL  mmap(0x2346f000,0x27000,0x1,0x12,0x6,0,0xf7000,0)
 12265 httpd    RET   mmap 591851520/0x2346f000
 12265 httpd    CALL  mmap(0x23496000,0xe000,0x3,0x12,0x6,0,0x11d000,0)
 12265 httpd    RET   mmap 592011264/0x23496000
 12265 httpd    CALL  mmap(0x234a4000,0x2000,0x3,0x12,0x6,0,0x12a000,0)
 12265 httpd    RET   mmap 592068608/0x234a4000
 12265 httpd    CALL  mmap(0x234a6000,0x1000,0x3,0x12,0x6,0,0x12b000,0)
 12265 httpd    RET   mmap 592076800/0x234a6000
 12265 httpd    CALL  mmap(0x234a7000,0x5000,0x3,0x1012,0xffffffff,0,0,0)
 12265 httpd    RET   mmap 592080896/0x234a7000
 12265 httpd    CALL  close(0x6)
 12265 httpd    RET   close 0
 12265 httpd    CALL  open(0xcfbf9414,0x4,0x2c1)
 12265 httpd    NAMI  "/usr/lib"
 12265 httpd    RET   open 6
 12265 httpd    CALL  fstat(0x6,0xcfbf9344)
 12265 httpd    RET   fstat 0
 12265 httpd    CALL  fcntl(0x6,0x2,0x1)
 12265 httpd    RET   fcntl 0
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 512/0x200
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
12265 httpd    RET   getdirentries 0
 12265 httpd    CALL  lseek(0x6,0,0,0,0)
 12265 httpd    RET   lseek 0
 12265 httpd    CALL  close(0x6)
 12265 httpd    RET   close 0
 12265 httpd    CALL  open(0xcfbf9414,0x4,0x1)
 12265 httpd    NAMI  "/usr/local/lib"
 12265 httpd    RET   open 6
 12265 httpd    CALL  fstat(0x6,0xcfbf9344)
 12265 httpd    RET   fstat 0
 12265 httpd    CALL  fcntl(0x6,0x2,0x1)
 12265 httpd    RET   fcntl 0
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 0
 12265 httpd    CALL  lseek(0x6,0,0,0,0)
 12265 httpd    RET   lseek 0
 12265 httpd    CALL  close(0x6)
 12265 httpd    RET   close 0
 12265 httpd    CALL  open(0xcfbf9414,0x4,0x1)
 12265 httpd    NAMI  "/usr/lib"
 12265 httpd    RET   open 6
 12265 httpd    CALL  fstat(0x6,0xcfbf9344)
 12265 httpd    RET   fstat 0
 12265 httpd    CALL  fcntl(0x6,0x2,0x1)
 12265 httpd    RET   fcntl 0
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 512/0x200
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 0
 12265 httpd    CALL  lseek(0x6,0,0,0,0)
 12265 httpd    RET   lseek 0
 12265 httpd    CALL  close(0x6)
 12265 httpd    RET   close 0
 12265 httpd    CALL  open(0xcfbf9414,0x4,0x1)
 12265 httpd    NAMI  "/usr/local/lib"
 12265 httpd    RET   open 6
 12265 httpd    CALL  fstat(0x6,0xcfbf9344)
 12265 httpd    RET   fstat 0
 12265 httpd    CALL  fcntl(0x6,0x2,0x1)
 12265 httpd    RET   fcntl 0
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 1024/0x400
 12265 httpd    CALL  getdirentries(0x6,0x7c01f8ec,0x400,0x7c01f8d8)
 12265 httpd    RET   getdirentries 0
 12265 httpd    CALL  lseek(0x6,0,0,0,0)
 12265 httpd    RET   lseek 0
 12265 httpd    CALL  close(0x6)
 12265 httpd    RET   close 0
 12265 httpd    CALL  exit(0x4)

-- END OF OUTPUT--

=========================================================

Reply via email to