skey - web developer

PHP Modules

by on

Php modules or extensions are pieces of code for PHP, which extends the basic functions and add or improve the existing functions. Some of them are already bundled with PHP and can be easily enabled or disabled. There are also external PHP modules which can be installed to system and then enabled in PHP. Even though you now have installed the PHP you still may come across some issues. Some of the frameworks or libraries will possibly need use of some module which wasnt added to php. Don't stress here. It's absolutely ok, as there are currently around 150 php modules out there. If you would have all of them activated at once, they would rapidly slow down your system and eat all your memory. For that reason you should have enabled only modules which you really need.

How do I know which modules I need?

Well, that's great question. Some frameworks will tell you at installation or in documentation. But anyway, you don't need to know. Usually the framework or php script will throw you exception or issue warnings, so you will know exactly which modules to install. When you become a bit more professional, you will know these modules and you will want to use the features they add, so you will install them yourself.

Enable modules

You may come to this issue:


    [PDO Exception]
    Could not find driver

The above error message is caused by missing php5-mysql extension. Before we turn it on we should check if it is available in system. I do it usually by searching

Installing on CentOS


    sudo yum -y install php5-mysql

Installing on Ubuntu or Debian systems


    sudo apt-get -y install php5-mysql

Enable rewite module with


    sudo php5enmod php5-mysql

you will see the status of the module and message that you need to restart apache before the configuration change becomes active


    Enabling module php5-mysql.
    To activate the new configuration, you need to run:
      service apache2 restart

so just simply run


    service apache2 restart

Mcrypt module installation

If your system will ask for mcrypt module, the step are very similar to above


    sudo yum -y install mcrypt
    sudo php5enmod mcrypt
    sudo apachectl restart