We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 25126
    • 3 Posts
    I’m really excited to start working with MODx, unfortunately I may have hit a serious roadblock.

    While attempting to install I get one failed pre-test:

    Checking MySQL client version: Failed!

    MODx will have issues on your MySQL version (5.0.51a), because of the many bugs related to the PDO drivers on this version. Please upgrade MySQL to patch these problems. Even if you choose not to use MODx, it is recommended you upgrade to this version for the security and stability of your own website.

    Now the confusing part is that my host says that the version of mysql they use is 5.0.45, which should have been fine. phpinfo() definitely lists it as 5.0.51a, which is probably how modx gets the version. I’ve asked if my host could upgrade, they said they can’t.

    My question is, is there a mistake with PHP and how its reading the mysql info, something with the way MODx reads my mysql info, or is my hosts info outdated? How do I find out? Is there anyway to manually workaround this without switching to a different host?

    Thanks in advance.
      Rabbit in The Moon Candle Company - eco-friendly and sustainable by nature

      featuring Handmade, All Natural Palm Wax Candles
      www.rabbitinthemooncandles.com
      • 26903
      • 1,336 Posts
      Your MYSQL client is at 5.0.51a, the server is at 5.0.45 probably , these packages are different, there is a mysql rpm(client) and a mysql-server rpm(server). There is a workaround, you need to change the modinstalltest class code to skip(or force pass) the check, this will allow installation to continue, however you ’may’ get funnies running your site, or it may not work at all, so its best to move to a host with supported MYSQL packages if you can.
        Use MODx, or the cat gets it!
        • 18373 ☆ A M B ☆
        • 3,141 Posts
        Quote from: shamblett at Jun 18, 2010, 02:52 AM
        so its best to move to a host with supported MYSQL packages if you can.

        ... and one that actually has power over what they do, and can upgrade if needed.
          Mark Hamstra • Developer spending his days working on Premium Extras and a MODX Site Dashboard with the ability to remotely upgrade MODX and extras to make the MODX world a little better.

          Tweet me @mark_hamstra, check my infrequent blog at markhamstra.com, my slightly more frequent ramblings at MODX.today or see code at Github.
          • 28042 ☆ A M B ☆
          • 24,524 Posts
          Actually upgrading the MySQL wouldn’t solve your problem. Your problem is the client version, not the server version. The client in this case is part of PHP, so what needs upgrading (or recompiling against the correct version of MySQL) is the PHP.

          When PHP is compiled, it is told to go include certain library files from MySQL, who provides the library files for anyone who wants to make a client. The version of PHP being used on your server was compiled using these libraries from the 5.0.51a version of MySQL. It needs to be recompiled using the libraries from the version of MySQL the server is using.

          You can see from my PHP compile options that it was compiled using libraries from the Solaris coolstack MySQL libraries.
          ’--with-mysql=shared,/opt/coolstack/mysql_32bit’
            Studying MODX in the desert - http://sottwell.com
            Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
            Join the Slack Community - http://modx.org
            • 26903
            • 1,336 Posts
            On my platforms(RHEL based), PHP is compiled without MYSQL support, excerpt from my PHP Info follows :-
            /usr/sbin/apxs’ ’--without-mysql’ ’
            ’, The php-mysql package is a separately packaged loadable module that’s compiled against the MYSQL client libs for the platform.

            This is done because you don’t want to recompile PHP if the MYSQL guys bump the versions, you can just recompile the php package and ship it, the last thing you want to do is recompile PHP itself, this can cause considerable breakage across the platform as a whole.

            MYSQL itself comes in two packages, client and server, they need not match version wise, the php-mysql package(AFAIK) is only compiled against the MYSQL client libs, not the server libs, so you can’t compile it against the server libs even if you wanted to. The only sane way out of this is to skip the check or up the MYSQL version, which will almost certainly mean moving providers for the OP.

            I know Solaris is different(Coolstack is a prepackaged LAMP environment akin to XAMPP etc), and the OP didn’t say what platform he is on but I’m guessing its not Solaris,
              Use MODx, or the cat gets it!
              • 25126
              • 3 Posts
              Quote from: sottwell at Jun 18, 2010, 07:11 AM

              When PHP is compiled, it is told to go include certain library files from MySQL, who provides the library files for anyone who wants to make a client. The version of PHP being used on your server was compiled using these libraries from the 5.0.51a version of MySQL. It needs to be recompiled using the libraries from the version of MySQL the server is using.

              Is there anyway to "recompile" or update my PHP Mysql client of my HOST? It seems that my host is most likely unwilling or unable to upgrade this for me, so if I can work around it on my host that would be ideal. The key here though is that I cannot install or update any packages like with RHEL or Solaris. I’m familiar with Linux systems, which my host runs on, but I only have access to cpanel. No sudo rights or anything.
                Rabbit in The Moon Candle Company - eco-friendly and sustainable by nature

                featuring Handmade, All Natural Palm Wax Candles
                www.rabbitinthemooncandles.com
                • 28042 ☆ A M B ☆
                • 24,524 Posts
                Most probably not.
                  Studying MODX in the desert - http://sottwell.com
                  Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
                  Join the Slack Community - http://modx.org
                  • 9010
                  • 5 Posts
                  Just writing to say I also have the MySQL client problem on Dreamhost:

                  Checking MySQL client version: Failed!

                  MODx will have issues on your MySQL version (5.0.51a), because of the many bugs related to the PDO drivers on this version. Please upgrade MySQL to patch these problems. Even if you choose not to use MODx, it is recommended you upgrade to this version for the security and stability of your own website.

                  My understanding is that I can go to setup/includes/modinstalltest.class.php >> line 29 >> and change
                  $this->_checkMySQLClientVersion();
                  to
                  //$this->_checkMySQLClientVersion();