We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 32674
    • 101 Posts
    Ok, Ive been farting around with this for way too long, trying to get revo rc2 installed on my personal IIS dev windows box.

    The basic hangup is that all versions of php 5.2.x (correction: 5.2.13 - 5.2.6) seem to include a ’mysql client api’ version (libmysql.dll) of 5.0.51a -- which revo doesn’t like. Modx stops the install with a warning.

    No prob. I can understand why modx devs would say ’that version of the client api has bugs, don’t use it with our cms’. pdo errors in that version is certainly a legit thing.


    How/where can I find a version of php 5.2.x that doesn’t include the 5.0.51a as the mysql client version? Im having a hard time with that.

    The underlying issue here is that most IIS web hosting companies here in the US running php on IIS, are running some version of 5.2.x and have no plans to upgrade to 5.3.x anytime soon. So im trying to setup the same environment on my dev box.

    Also, Ive have upgraded mysql install on my dev box to version 5.1.45, yet the phpinfo, and modx are reporting a mysql client version of 5.0.51a --- I assume that is the libmysql.dll that comes compiled with php that is still at version 5.0.51a and not the actual mysql version refelected there.

    Is there anyway to sidestep this issue of php 5.2.x always using v5.0.51a libmysql.dll?

    (BTW, i’d prefer not to have to compile my own php to do this, as im sure no IIS hosting companies are doing that)


    tnx,
    Dave
      • 37550 ☆ A M B ☆
      • 711 Posts
      Hi Dave,

      We run PHP 5.2.5 with MySQL client version: 5.0.37, and MODx revolution installs OK.

      What is the exact error you are getting?
        http://www.onesmarthost.co.uk
        UK MODX Hosting with love.
        • 32674
        • 101 Posts
        ok. I see. I need to downgrade my php version to 5.2.5 from my current install of 5.2.13. Easy enough.

        The error Im getting is during setup, everything passes except:

        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.



        Basically, if you were to upgrade your host machines to php version to 5.2.9 through 5.2.13, it would drag your mysql client (libmysql.dll) up to version 5.0.51a, also. At that point you would be in the same boat I’m in-- unable to install modx revo 2 on IIS.

        Here’s the 5.0.51 issue regarging modx noted here: http://svn.modxcms.com/docs/display/revolution/MySQL+5.0.51+Issues.

        So I can win the battle, but lose the war rolleyes: By running 5.2.13 of php, I was simply trying to dupe the web hosts installed php/mysql/fastcgi environment on my dev box and modx didn’t like it. So, downgrading php to 5.2.5 will solve my personal dev box issue, and get modx installed there -- but Im not sure how I will get several IIS hosting sevices, that I was looking at using, to downgrade their php versions from 5.2.12/5.2.10 to 5.2.6 so I can run revolution.

        I can now see Modx won’t on install any of the windows hosts I had in mind. Ack.


        You don’t have any servers in the US, do you Aaron? grin And thanks for your help.

          • 32674
          • 101 Posts
          Addendum: just thinking/moaning/frustrating out loud:

          Mysql currently has released many versions of the mysql client api past v5.0.15. (As of my post, I think they are up to 5.1.45 with windows releases, and there are probably 15 different releases in between 5.0.51 and 5.1.45.)

          Why in the world wouldn’t the php devs build the current mysql client dlls into their 5.2.13 current release?

          Why build the 5.0.51 version of a mysql library-- which was created in 2007 --- and that has known issues, into php releases 3 years later? Shouldn’t they be building the 5.1.x version of mysql dlls into php to play nicely with the 5.1 version of mysql?

          (btw, yes, I know I can run around and collect up all the php dependency libs and build my own custom version of php to include the newer mysql libs -- but what’s the point in setting up a custom dev environment, if no web hosting companies exist with the same setup to ultimately install your sites to?)

          Or to be more to the point: Why in hades is php.net compiling a 3 year old mysql dll into the 5.2.9-5.2.13 windows builds when many better recent ones are available?

          /moaning

            • 32674
            • 101 Posts
            Alright finally found a solution/hack I can live with to make revo & php 5.2.13 play nice together.

            In a nutshell, Im trying to somehow, by rook or crook, run revolution on php 5.2.13 thru 5.2.8. Im doing that because, well, those are the php versions currently running on most windows IIS hosting services. (I don’t want to upgrade php to 5.3.x yet, as most hosting companies don’t offer that -- too bleeding edge for them.)

            To make revo load on php v5.2.13-v5.2.8, basically, you just steal the libmysql.dll (v.5.0.45), from an older version of php, v5.2.4, and drop it into your windows php directory replacing v5.0.51, and then reboot IIS. Exact steps below:


            1. download php v5.2.4 binaries here: http://museum.php.net/php5/php-5.2.4-Win32.zip Save it on your desktop.

            2. Browse to your php installation folder with window’s explorer. For me, php lives here: ’c:\prog files x86\php’. Now rename the existing file ’libmysql.dll’ in that folder to ’libmysql.dll.orig’ or any name that you will remember that it’s the original installed version that came with php.

            3. Browse to your desktop and open the zip file you just downloaded. Copy the ’libmysql.dll’ from inside it.

            4. Browse back to your php installation folder. Paste the new ’libmysql.dll’ in there. You should now see the files ’libmysql.dll’, and ’libmysql.dll.orig’ both in the php folder (along with all the rest of your php files, of course)

            5. Reboot IIS service, so it sees your new dll for the downgrade replacement to take effect.

            6. run phpinfo() and you should now see your Mysql client APi version is listed as 5.0.45. It’s no longer 5.0.51(a).

            7. you can now go ahead and install modx revo on php versions 5.2.13-5.2.8. Woot.


            Disclaimer: Im certain doing this foolish hack will cause some mysql conflict down the road. How can it not? Downgrading libmysql.dll from v5.0.51a to v5.0.37, the fallout is sure to rear it’s ugly head when you least need or want it to happen...

            ...but for now, modx revo can be installed, and run on the recent, stable 5.2.8+ php releases (as of this post). Hopefully the good php folks will finally release a version of 5.2 that doesn’t have that wretched 5.0.51a libmysql.dll included. You should immediately upgrade this hack when they do and install the new php version.

            hope that helps out some other poor modx revo/win/IIS folks wondering why revo won’t install on IIS running fastcgi & php v5.2.13 thru 5.2.8.