PHP and the web server are the primary software. PHP 5.2 or higher is required for Drupal 7 and recommended for Drupal 6. If you are using a shared hosting service, the versions they support are important as well as their upgrade policy. In many circumstances, Drupal will need to send email using PHP. Particularly on shared hosting servers, you might need to contact your vendor to enable this. Remember this is email sent from PHP and not the normal email application or web page you can usually access to send and receive email on your web server.
Did you Know?
As for a web server, Apache 1.3 or Apache 2.x on Mac OS X, Windows, or UNIX/Linux is the recommended choice. Drupal also runs on Microsoft Internet Information Services (IIS) 6 or IIS 7.
The most common modifications needed are enabling the mod_rewrite extension for Apache or the Microsoft URL Rewrite Modules for IIS 7.0 on IIS. If you do not do this, Drupal will still run but will not be able to create clean URLs. See Hour 6, "Managing URLs: Cleaning, Redirects, and Pathauto," for more on mod_rewrite.
On a shared server, you may or may not have access to the PHP initialization values in php.ini. (If you do not have direct access to it, contact your hosting service; it may either give you access or make the change for you.) One common value on shared servers that might need to be overridden is the memory setting. It is often set to 16MB, but changing it to 32MB or 64MB will prevent some Drupal memory errors. Drupal is designed to be as fast and efficient as possible, but at some points in its processing, memory requirements can spike. The memory issue is a commonly misdiagnosed Drupal problem. It often occurs after you install a new module and then go to the modules administration page to enable it. That is a moment when memory can spike. Removing the module appears to solve the problem. It can then recur when the same module or another one is installed. Instead of blaming the error on the modules, increase the memory limit to handle these spikes.
Other common php.ini settings that may need attention are the following:
► register-globals off
Was this article helpful?