Last updated April 1, 2014. Created by gpk on February 2, 2003.
Edited by LeeHunter, Gábor Hojtsy, greggles, tvn. Log in to edit this page.

Note: this page should not be edited without first discussing the changes in a Drupal Core issue as the requirements for each version of Drupal are decided upon by the Drupal Core developers.

To install and run Drupal your web server must meet certain minimum requirements. Most web hosting companies meet these requirements. However, a few stand out by also actively supporting the Drupal community. If you need hosting, consider selecting one of these web hosts.

Disk space

A minimum installation requires 15 Megabytes. 60 MB is needed for a website with many contributed modules and themes installed. Keep in mind you need much more for the database, files uploaded by the users, media, backups and other files.

Web server

Apache, Nginx, or Microsoft IIS
More details about web server requirements.

Database

Drupal 6: MySQL 4.1 or higher, PostgreSQL 7.1,
Drupal 7: MySQL 5.0.15 or higher with PDO, PostgreSQL 8.3 or higher with PDO, SQLite 3.3.7 or higher
Microsoft SQL Server and Oracle are supported by additional modules.
More details about database requirements.

PHP

Drupal 6: PHP 5.2.x only. Warning: support for PHP 4.x has been dropped. PHP 5.3 and later may produce errors or unexpected behaviour.
Drupal 7: PHP 5.2.5 or higher (5.3 recommended).
Drupal 8: PHP 5.4 or higher.
More details about PHP requirements.

See also the Site Performance section of the Administration Guide and the webhosting troubleshooting FAQ.

Looking for support? Visit the Drupal.org forums, or join #drupal-support in IRC.

Comments

I had an issue while installing Drupal yesterday on my FreeBSD system, and I think others have had this issue too.

It turns out it was an issue with the PCRE (Perl Common Regular Expressions) extension of PHP. I think FreeBSD deals with PHP extensions in a different way than on most systems.

If you're getting warning messages about PCRE not having UTF-8 support, try this:

  • cd into /usr/ports/lang/php5-extensions
  • run make config and deselect PCRE
  • cd into /usr/ports/devel/pcre
  • run make install clean

You might have to make deinstall in the /usr/ports/lang/php5-extensions directory and apachectl restart.

For reference, check out these pages:
http://drupal.org/node/97673 (scroll to bottom)
http://jake.wyrr.org/content/fix-pcre_utf8-errors-in-drupal-sites-hosted...

If you have issues related to pdo on os x like Warning: PDO::__construct(): [2002]...
Have a look at this post for a possible fix : Document OS X PDO socket installation issues

In addition to interfering with file and image upload, safe_mode on will also cause warnings when sending users mail.

Note that in Drupal 7, apc.include_once_override APC setting cannot be enabled (the php session dies with an error message that says that some Class is already defined).

I think that PDO documentation needs updating - it currently says:

Look in your php.ini. Uncomment (remove the leading semicolon) at line extension=php_pdo.dll, extension=php_pdo_mysql.dll. In Linux, these would be extension=pdo.so and extension=pdo_mysql.so. Some Linux distributions may have these extensions by default in files found in the conf.d folder. If these lines are not there, you will need to add them.

My Ubuntu (Natty Narwhal version) has no such lines in the php.ini, yet phpinfo() says that PDO drivers for mysql are enabled out of the box.

Perhaps simply note that nothing needs to be changed on Debian and Ubuntu.

This was true for everything wrt PHP.INI except error_reporting, which defaulted to E_ALL & ~E_DEPRECATED.

However it seems this gets overridden by includes/common.inc anyway? or is it bootstrap?

And perhaps note the fact that phpinfo() returns numbers 22527 vs 30711

All that needs to be clarified/simplified, spend a lot of time googling to verify stuff that's already OK.

Installed the 'commerce_kickstart-7.x-2.9' with below mentioned env
httpd-2.2.25-win32-x86-no_ssl
php-5.2.17-Win32-VC6-x86
mysql-installer-community-5.6.12.0

PHP.INI
-------
So I had to add the following extensions
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll

Also I had to change the 'max_execution_time' parameter in the php.ini. The default value was 30s, but for me 500s was not enough. So I changed it to 1000, and then it was OK.

And do not forget to set the php, in the PATH env variable.

httpd.conf
----------
Changed 'AllowOverride' to All (in all the places 'AllowOverride All')

Janaka

If you are getting a parse error when installing Drupal 8 on Dev Desktop, make sure it is using PHP 5.3.2 or higher.

Here is the error message you might be seeing:
Parse error: syntax error, unexpected T_CONST in /Users/[username]/Sites/[sitename]/core/install.php on line 19

Here are instructions:

  1. ensure you are using a recent version of Dev Desktop (current version is 7.9.9)
  2. once Dev Desktop is installed and running, from the Dev Desktop Control Panel navigate to Settings > Config and select PHP 5.3.2

ownsourcing.com - Drupal training

So I haven't seen anything mentioned on here about this, but it keeps creeping up as an issue for me so I thought I'd mention it.

The server's PHP handler needs to be set so that your scripts run as a user allowed to read,write and execute any and all files in your install. For example, whenever your compressed CSS and JS files need to be updated. I'd recommend setting SuPHP as your PHP handler although I think there are other ways of achieving this with CGI. DSO has always given me problems.

I'm not really a SysAd myself, maybe someone on here could better explain or have better recommendations for a setup, but that's just what I have discovered for my sites.

The requirements above are incorrect as of this date. However, http://symfony.com/doc/current/reference/requirements.html shows that the requirements for the framework are PHP 5.3.2. I'll look into why, and possibly file a bug report.

I remember that there was a php file that would analyze your server's installed modules and software versions to tell if it is compatible with drupal 7. I'm unable to find this file. Does anyone know where is that file located, or i downloaded it from another site?

I remember that there was a php file that would analyze your server's installed modules and software versions to tell if it is compatible with drupal 7

I think this is a good idea. Every few years I have to set up a new IDE but things change (including my memory) and I am very unfamiliar with server settings. Perhaps this page could also make a reference to the essential apache settings (I have seen them somewhere on this domain). For example, most LAMPs come with the doc-root set as /var/www but I may want to change this for various reasons or to line up with my hosted server (/home/public-html). Many new users will have little idea on how to edit apache settings (a danger area).

fabius

fabius

Create a new file named phpinfo.php and place it in the root of your Drupal installation.

Edit it and place the following in your phpinfo.php file:

<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>

Open up the URL for the phpinfo.php and you can read the details of your server.

You should be able to get this info by clicking the PHP version in the Drupal Status report.

I provide Drupal, Drupal Commerce and CiviCRM development services for customers in New Zealand and beyond

FYI, there are a known issues with PHP 5.4 and the Views module and the Panels module. The first is warnings from Views due to PHP's E_ALL including E_STRICT as of 5.4, and the second is empty output in Panels.

There may be other issues with PHP 5.4 and Drupal; search the issue queue first or simply be aware of this when developing or upgrading.

I'm using EasyPHP latest version , where PHP version - 5.4.6 . But with in \php\ext directory , 'php_pdo.dll' file is not present & as a result corresponding 'php.ini' file also not containing the 'extension=php_pdo.dll' . So right now what should i do ?? ( To add php_pdo.dll by downloading or check for other version and include it within 'php.ini' file . plz , anyone has the 'php_pdo.dll' file of PHP version 5.4.6 , share the link . Thanks .

Jayanta Sarkar

Drupal wont work if you running PHP older than 5.3.10, Redhat runs PHP 5.3.3 the 02/22/2013 built. There is a way to update PHP is to install and enable a 3rd party repo like Remi, but the think is a lot of corporations use Redhat so they don't have to deal with updates and configurations etc... i was sys admin in a Bank where i faced that problem with Zend Framework and i had to upgrade PHP but i couldn't cause their info security department didn't allow 3rd party Repos like Remi.
Bottom line... do you have to stick with a distro like Ubuntu or it will be a solution in the near future to run Drupal 8 in environment running a lower PHP version than 5.3.10?

Youssef Lamani,

Youssef Lamani,

good link if you want to wget/enable Remi and upgrade PHP on you Centos or Redhat server:

http://kb.parallels.com/en/115875

Youssef Lamani,

Youssef Lamani,

Debian IMO is the best alternative to RHEL / CentOS.

Luís Pedro Algarvio / LP / LPCA
Drupal Specialist | Debian Linux Consultant | Project Manager -- Solutions on steroids
lp.algarvio.org

I would advise to avoid using libapache2-mod-php5filter as it has a bug currently http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=709023

I would use libapache2-mod-php5 instead.

It's important to note that the Requirements page is missing a key requirement. GD will not do anything if you have not also compiled PHP with JPEG support.

So, it's possible to follow this requirements page exactly, and Drupal will show the GD requirement as met in the status report, but image styles will not generate for JPEG files.

Should Drupal 8 stick with PHP 5.3.x or should I go PHP 5.4, and will it also work with PHP 5.5?

There are issues with Drupal 6 and PHP 5.4, and Drupal 7 recommends PHP 5.3.

Drupal's PHP requirements are minimum requirements. Drupal 6 requires PHP 4.4, but should work on all newer versions. If it doesn't, that's a bug which should be fixed. The same goes for Drupal 7 and 8 which require at least PHP 5.2.5 and 5.3.10 respectively, but should work on never versions as well.

These minimum requirements are not recommendations. You are recommended to run the most recent, secure version of PHP. Drupal 7 will always continue to run on PHP 5.2.5, but if you decide not to upgrade to a newer PHP version, you are the only one who is responsible for security issues and other problems caused by PHP itself.

Drupal 8 will soon require PHP 5.4 or higher, by the way. See #1498574: [policy, no patch] Require PHP 5.4.

The more details link says:

Although PHP 5.3 is supported by Drupal 6, some contributed modules may not be compatible with PHP 5.3, and some PHP 5.3 configurations still show warnings with Drupal 6.14. Work is ongoing to resolve the latter in #360605: PHP 5.3 Compatibility . Most Drupal 6 contributed modules throw E_STRICT errors on PHP 5.3 and many are practically unusuable on 5.4.

My reading of that is that you should be fine running Drupal 6 on PHP 5.3, but don't try running it on PHP 5.4 if you want to use any contrib modules.

I'm seeing a lot of confusing comments about enabling via a local php.ini file.

Some say

extension=php_pdo_mysql.dll

others

extension=pdo_mysql.so

which is it???

OPC IT eBusiness

Hi everybody, whats about php 5.3 in Drupal 7? As I can see, the PHP 5.3 series will receive only security fixes for the current(2014) year.

These are minimum requirements. You can still run Drupal on newer PHP versions and you are encouraged to do so to keep your site secure.

Currently PHP requirements tend to read something like

Drupal 7: PHP 5.2.5 or higher (5.3 recommended).

The "or higher" though is misleading and I wonder if it wouldn't be better to have an explicate cut off as each new release of PHP tends to have one or more elements that break older scripts.