Magento pre-checks – how to install curl, gd, mcrypt, and pdo using cpanel whm – yeah its easy!

I searched for hours and hours after I attempted to install Magento on a godaddy vps only to get this:

Your server does not meet the following requirements in order to install Magento.
The following requirements failed, please contact your hosting provider in order to receive assistance with meeting the system requirements for Magento:
  • You are missing the curl extension
  • You are missing the gd extension
  • You are missing the mcrypt extension
  • You are missing the pdo_mysql extension
  • You are missing the pdo extension
The following requirements were successfully met:
  • You have PHP 5.2.0 (or greater)
  • Safe Mode is off
  • You have MySQL 4.1.20 (or greater)
  • You have the dom extension
  • You have the hash extension
  • You have the iconv extension
  • You have the pcre extension
  • You have the simplexml extension
After hours of searching I found “pecl install pdo” which worked great to address the pdo and pdo_mysql extension issues.  But sadly, “pecl install curl” did nothing (btw, its not supposed to – but I was hopeful).  I found a lot of information about updating the php.ini – most of which talked about removing the ; from the lines required to enable curl, gd, and mcrypt.  Which I did – then restarted apache, then restarted my server, then rebooted my laptop… ok, the laptop was because I loaded patches to it completely unrelated to my server problem, but why not throw that in there?
I found several posts saying “just run /scripts/easyapache”.  Most of these posts assume a certain level of knowledge that I obviously didn’t have.  Once I found that I can actually just type “/scripts/easyapache” at an SSH command line (I know I may have just ‘assumed’ a level of knowledge you may not have but keep reading, it gets easy!)  I ran easyapache and was presented with a text based menu that made no sense to me.  I felt like I was on the right track, but still not there.  The forum where I found the easyapache hint ( had several comments with questions about what it does and how to use it – but one comment caught my eye by Erwin:

In CPanel 7, you can now do this in WHM by going to the Software section and choosing:

Update Apache

Then choose mcrypt or any other module you want to recompile PHP with.

And it will do so automatically. Similar to easyapache, but easier to use. I upgraded to PHP 4.3.2 just like that with the modules I want.

So I tried that – realizing the post was pretty old and my screens might be very different.  They were, but I was able to work it out. I went to
  • “Main >> Software >> EasyApache (Apache Update)”.
  • Then I selected the PHP Encryption / E-commerce option.
  • Then “start customizing based on profile”.
  • From there I selected Apache 2.2 (I was currently running 2.0),
  • clicked Next and selected php5, selected build 5.3.2,
  • scroll to the bottom of the page and click “
  • Now we are COOKING! – you can now select curl, gd, mcrypt, pdo, and a whole host of other options.

After selecting those options, I clicked ““.  Now it goes and goes while building apache with all of the options you selected – NO COMPILING, MAKE, MAKE INSTALL, ETC!  It does all of that for you!

I go back to my magento-check.php page and I’m in magento precheck heaven:

Congratulations! Your server meets the requirements for Magento.

  • You have PHP 5.2.0 (or greater)
  • Safe Mode is off
  • You have MySQL 4.1.20 (or greater)
  • You have the curl extension
  • You have the dom extension
  • You have the gd extension
  • You have the hash extension
  • You have the iconv extension
  • You have the mcrypt extension
  • You have the pcre extension
  • You have the pdo extension
  • You have the pdo_mysql extension
  • You have the simplexml extension

15 thoughts on “Magento pre-checks – how to install curl, gd, mcrypt, and pdo using cpanel whm – yeah its easy!

  1. Ik

    I am working 8 years as a webdeveloper, and have searched and found a trillion things on forums and blogs…never have I posted a comment.

    But this is worth it, it is runnign now and I thing you saved my day.

    I am your slave..

  2. Andy

    You are right, o wise one. I am running into another wall, or two again.

    After some digging I found that the MySQL default storage had to be changed to InnoDB. I did that by going into my.cnf and change it to:

    default-storage_engine = InnoDB

    And restarted MySQL. Just when I was about to pat myself on the back, all of a sudden an Internal Server Error pops up when I attempt to install Magento.

    Error log shows:
    “PHP Startup: Unable to load dynamic library” for all those PHP extensions.

    I’m at a loss at this point. Any help you can provide will be much appreciated. Thanks in advance!

    1. dsackr Post author

      @Andy, I had a similar error but I solved it by re-compiling mysql (using easyapache in cpanel) using InnoDB.

      Then I reinstalled Magento… that worked for me as far as I can remember it… let me know if you figured it out…

  3. dsackr Post author

    Don’t thank me yet Andy – This is just the first step to getting Magento installed… feel free to ping me with questions – If I haven’t already written a post on it, I can always add…


Leave a Reply

Your email address will not be published. Required fields are marked *