Every now an then I am asked to install Drupal on a client's web server. Finding out if all technical requirements are OK can be quite a task. Just trying to install Drupal is often the easiest way to find out if there are problems with php settings, database permissions, rewrite rules etc. etc. However this is not always convenient.
I would really appreciate if someone (who obviously should know everything about Drupal installation, unlike myself) could write what I call the "Drupal Scout": a small, single file php script which checks if everything is in place for a succesfull Drupal installation.
I'm curious what you all think.
Comments
Comment #1
marcvangendBy the way, I posted this for 7.x-dev because D5 and D6 are feature complete. However I think that back-ports to D5 and D6 would be both possible (because the Drupal Scout is a stand-alone script) and welcome.
Comment #2
catchI don't see a particular reason why this shouldn't be handled by a few extra system_requirements() for the installer/default profile. It already checks for clean urls at install time and enables them if available etc.
Comment #3
marcvangendCatch, you're right, system_requirements() takes care of the majority of tests, so that would be a good starting point. However my idea is to have a small, single-file, stand-alone script which checks all requirements and returns the test results. You can't just run a quick test now, your only choice is to upload all files and try to install.
(BTW, as far as I know D5 does not check for clean url's during installation. You can only be sure if it works once Drupal is up and running. )
Comment #4
sunsystem_requirements() makes sense. However, plenty of stuff needs to be checked once, so this code bloat should probably sit in a separate include file. A stand-alone script could be forked from this implementation afterwards.
Comment #5
dropcube CreditAttribution: dropcube commentedThis kind of simple, standalone script also will be useful for testing if a Drupal installation can be upgraded to a new Drupal major release without requiring to upload the full package. Of course, the requirements to check at this point are basic requirements, Drupal system and Drupal profile independent requirements.
For example, for 7.x we have to check:
Comment #6
dropcube CreditAttribution: dropcube commentedOf course, this script will be included during a full Drupal installation requirements check, but will not be useful for a runtime requirements check, because Drupal will not run if those requiremets aren't met.
Comment #7
catchWell, there are some things which will cause Drupal to completely blow up if not present, and which you'll only be able to fix if you've got server access. We should possibly make install.php return some very basic messages if these aren't in place with links to the handbook requirements page - if that happened, you could pretty much upload install.php and run it standalone for just these initial checks.
Comment #8
gregglesUpdating meta data and removing proposed title for the feature.
I believe that this feature is mostly contained in some of the checks in install.php though perhaps they aren't very well separated into separate functions nor necessarily called from a centralized place.
Comment #10
troyer CreditAttribution: troyer commentedIs there any progress on this issue? The only useful script I could find is this one http://www.seo-web-design-aberdeen.co.uk/forum/webhosting-tricks/drupal-...
Comment #11
marcvangendWell, this topic is 5 years old, and you're the first one to post here in almost 2 years... that should tell you something about the progress :-)
To be honest, I'm less sure that this is a good idea than when I posted this idea. There are so many factors involved in a good server setup, just checking a few requirements (probably based on core alone, since we cannot take every contrib module into account) may only give a false sense of security.
Comment #12
troyer CreditAttribution: troyer commentedHaving something in place is better than nothing. Especially when you need to use a hosting service the client already uses. It's sometimes really hard to get any information at all. Such a script helps to get at least a basic idea what you're dealing with.
Comment #13
marcvangendSure, sometimes something is better than nothing.
But speaking from experience: I have seen several cases where a client's server easily met all requirements and recommendations from http://drupal.org/requirements, but came to a grinding halt when we actually tried using it.
I'm not saying that a requirements script would be completely worthless, but I do think it's value would be limited, because such a tool can never make guarantees. It should come with a clear warning, so people understand the limitations of the script and don't start making promises they can't keep.
Comment #14
troyer CreditAttribution: troyer commentedThat's probably true for all modules too. ;-)
Comment #15
marcvangendThere's a big difference with modules though: a module only makes claims about itself. While a module tells you that it should work, while a requirements script (especially without a proper warning) suggests that all core and contrib Drupal code should work.
Comment #28
quietone CreditAttribution: quietone at PreviousNext commented@marcvangend, thanks for the idea.
This issue has been open for 16 years with the last discussion 11 years ago. In that time no work has happened on a patch. And I see in #13 you state "I'm not saying that a requirements script would be completely worthless, but I do think it's value would be limited." The lack of interest here suggests that time is better spent on other aspects of Drupal. Plus, hosting environments have changed as well. I think it is time to close this. As always, anyone is welcome to re-open this and re-start the conversation.