php cannot load dynamic library pdo_mysql.so after apt-get upgrade

Discussion in 'Installation/Configuration' started by tfboy, Feb 13, 2014.

  1. tfboy

    tfboy Member

    My server is running pretty much spot on following the perfect guide for Ubuntu 12.04. My install of ISPConfig is working fine.

    However, following an apt-get upgrade and a reboot, I'm now getting email notifications every 30 minutes that PHP cannot start the pdo_mysql.so library.

    Email Message is:
    Code:
    Subject: Cron <root@server>   [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete
    
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/pdo_mysql.so' - /usr/lib/php5/20090626/pdo_mysql.so: undefined symbol: pdo_parse_params in Unknown on line 0
    After doing some searching, I did read some people say that a more recent version of php had this kind of bug, but I'm not too sure how to troubleshoot.

    edited to add: my PHP version:
    Code:
     php -v
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/pdo_mysql.so' - /usr/lib/php5/20090626/pdo_mysql.so: undefined symbol: pdo_parse_params in Unknown on line 0
    PHP 5.3.10-1ubuntu3.9 with Suhosin-Patch (cli) (built: Dec 12 2013 04:27:25)
    Copyright (c) 1997-2012 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
        with XCache v1.3.2, Copyright (c) 2005-2011, by mOo
    Any suggestions?

    Many thanks.
     
    Last edited: Feb 13, 2014
  2. tfboy

    tfboy Member

    OK, I think I've managed to fix this :)
    In the end, I installed a more recent verison of php (5.4.25). As Ubuntu's official repositories doesn't provide them, I did some searching and used the PPA method: http://askubuntu.com/questions/1094...ported-ubuntu-versions-like-5-4-x-in-ubuntu-1

    When doing the upgrade, as a lot of files had been manually tweaked, I opted to keep my current modifications, and this worked but required two further fixes:

    xcache was updated to a newer version which meant the path was no longer valid. So I updated the path to the xcache module in /etc/php5/conf.d/xcache.ini

    Secondly, I was now receiving emails with the content "PHP Warning: Module 'pdo_mysql' already loaded in Unknown on line 0". A bit of searching revealed that the pdo_mysql.so module was being loaded twice; once referenced in /etc/php5/mods-available/mysql.ini and once in /etc/php5/mods-available/pdo_mysql.ini
    So I commented out the reference in the pdo_mysql.ini file (with semicolon rather than hash) as the more complete mysql.ini already had it referenced and the errors have now gone :)

    edit:
    I've noticed that Xcache is probably loaded twice as it's listed twice when I do a php -v:
    Code:
     php -v
    PHP 5.4.25-1+sury.org~precise+2 (cli) (built: Feb 12 2014 10:45:30)
    Copyright (c) 1997-2014 The PHP Group
    Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
        with XCache v2.0.1, Copyright (c) 2005-2012, by mOo
        with XCache v2.0.1, Copyright (c) 2005-2012, by mOo
    
    I don't know yet whether this is an issue or not.
     
    Last edited: Feb 15, 2014

Share This Page