We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 12372
    • 44 Posts
    Quote from: shamblett at Nov 05, 2010, 05:31 AM

    Ok, the PDO modules etc aren’t there, this is why Revo is not seeing them. Where are the rest of your PHP modules? The extension_dir may not be working, you may need to run ldconfig to really add it to your library path.

    In a PHP cli session try dl(’PDO.so’) and see what you get back or just copy the so files into your real PHP modules dir and try php -m again.

    I’d say the extension directory is working, for two reasons. Firstly xcache is in the same directory, and it’s working. Secondly, as mentioned up the thread I can add:

    extension=pdo_mysql.so

    And httpd starts (although that’s not enough for Modx)

    It’s when I add any of these:

    extension=pdo.so
    extension=pdo_sqlite.so
    extension=sqlite.so

    Then httpd won’t start. When you say they’re "not there", do you mean in the php -m output? If so they wouldn’t be no, because I can’t start httpd with them.
      • 26903
      • 1,336 Posts
      Ok, run an ldd on the so files, i.e. ’ldd PDO.so’ and see what dependencies your getting, they may not be loading because of an error in the so files themselves.

      Why does starting httpd affect your php -m output? This is not dependent on httpd, they are php modules, you should be able to see them even if httpd isn’t installed.
        Use MODx, or the cat gets it!
        • 12372
        • 44 Posts
        Quote from: shamblett at Nov 05, 2010, 09:39 AM

        Ok, run an ldd on the so files, i.e. ’ldd PDO.so’ and see what dependencies your getting, they may not be loading because of an error in the so files themselves.

        If I do that command I get:

        libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a9567c000)
        libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a95792000)
        /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)

        All three of those files are there - although not sure if that’s enough!

        Quote from: shamblett at Nov 05, 2010, 09:39 AM
        Why does starting httpd affect your php -m output? This is not dependent on httpd, they are php modules, you should be able to see them even if httpd isn’t installed.

        Okay, I added them back and if I then run that command I get "Segmentation fault" and nothing else.

        Thanks!
          • 12372
          • 44 Posts
          Any thoughts on what that means?

          I do appreciate your assistance, thanks.
            • 26903
            • 1,336 Posts
            OK, they definitely appear broke for some reason, try ’strace php -m’, you’ll get tons of output but you only need the last bit, it may dump some info to the terminal about the reason for the segfault other than that you need to look at how you compiled them, you may be missing a switch or something.
              Use MODx, or the cat gets it!
              • 12372
              • 44 Posts
              Okay, if it could be a compile problem I’ll go back to my configure commmand and go over that.

              The end of that command, if it means anything, gives:

              tex(0x3bd29020c4, FUTEX_WAKE, 2147483647) = 0
              open("/usr/local/lib/php/extensions/no-debug-zts-20060613/xcache.so", O_RDONLY) = 3
              read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300x\0\0\0\0\0\0"..., 832) = 832
              fstat(3, {st_mode=S_IFREG|0755, st_size=377631, ...}) = 0
              mmap(NULL, 1167112, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2a98c92000
              mprotect(0x2a98cad000, 1056520, PROT_NONE) = 0
              mmap(0x2a98dad000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x2a98dad000
              close(3) = 0
              open("/usr/local/lib/php/extensions/no-debug-zts-20060613/pdo.so", O_RDONLY) = 3
              read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260f\0\0\0\0\0\0"..., 832) = 832
              fstat(3, {st_mode=S_IFREG|0755, st_size=326081, ...}) = 0
              mmap(NULL, 1154584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2a98daf000
              mprotect(0x2a98dc7000, 1056280, PROT_NONE) = 0
              mmap(0x2a98ec6000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x2a98ec6000
              close(3) = 0
              munmap(0x2a98daf000, 1154584) = 0
              lstat("/var", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
              lstat("/var/log", {st_mode=S_IFDIR|0777, st_size=4096, ...}) = 0
              lstat("/var/log/php.log", {st_mode=S_IFREG|0777, st_size=0, ...}) = 0
              open("/var/log/php.log", O_WRONLY|O_CREAT|O_APPEND, 0644) = 3
              --- SIGSEGV (Segmentation fault) @ 0 (0) ---
              +++ killed by SIGSEGV +++
                • 26903
                • 1,336 Posts
                Ok, does this file exist ’/var/log/php.log’, php seems to be trying to write to it probably an error of some sort. You could try the php -m command as root(if you weren’t before) and see if this file is created and what’s in it. Failing that create it as the user you are trying the php -m from.
                  Use MODx, or the cat gets it!
                  • 5624
                  • 26 Posts
                  Don’t have much experience in compiling on Linux however on a Windows box, I’ve noticed if you are attempting to install the extra extensions for PHP and the moment you enable it, the server refuse to start. I’ve seen this mainly on LDAP and one other (which escapes my head right now). I suggest you download a revision older (the next stable version down) then give that a go. Good luck!