Posted by dropcube on October 1, 2008 at 7:44pm
11 followers
Jump to:
| Project: | Drupal core |
| Version: | 8.x-dev |
| Component: | install system |
| Category: | task |
| Priority: | normal |
| Assigned: | dropcube |
| Status: | active |
| Issue tags: | D7UX, draft, edit content, editing, Needs tests, revision, Usability, workflow |
Issue Summary
Now that we require PHP 5 and PDO, we ought to handle fatal errors during the installation/upgrade as quickly as possible. We should move the basic system checks before install profile installation and before starting an upgrade process. This will require only to load the very basic code to make the checks and to display the result (maintenance theme) and dot not inlcude DB layer or other code that truly requires PHP 5 or other stuff that may not be available.
I am working on a patch. See screenshot:
Related issue: #299308: Installing Drupal by visiting index.php (rather than install.php) leads to a fatal error when PDO is not enabled
Comments
#1
Note, this other file (prerequisites.php or whatever) needs to be PHP 4 compatible and the very first requirement check is the PHP version. Error should give a link to the documentation for Drupal 7 requirements.
#2
This would be a big plus for newbie install usability. Fun issue to patch with moving everything around, but I'll try and help test the best I can!
#3
Big +1 to this. If you get to this screen, and you don't have some level of server access (or at least a reasonable amount of knowledge), then you're unlikely to get an install happening - so the screenshot, plus a link to drupal.org/requirements would do loads. Like dropcube I see this screen being skipped completely if these requirements are met - so it's likely that in both scenarios, you wouldn't see the same screen twice.
While we document requirements clearly on drupal.org, Drupal 7 is going to raise the bar in terms of random hosting environments, so getting this information up front is going to be important - so bumping to critical.
#4
would this still be after you select your language? it would kind of suck if you're trying to install in another language and get hung up by errors that you can't read...
#5
I was going to open another issue, but this is pretty much the same thing.
Ideal workflow for me would be:
1. Select language
2. This server requirements page (probably including file permissions)
3. Choose profile
4. Database
5. Profile requirements (modules etc.)
6. 'Proceed with install' when everything is green
7. Install and configure like now
#6
I keep forgetting stuff that is explained in the install textfiles, I'd love to see a 'server requirements checklist' in step two indeed. Subscribing.
#7
@catch: yes, that seems a good workflow for the installer. Will post an initial patch soon.
#8
To achieve this we require to organize and modularize better the installer code: #316916: Create install directory with multiple files and modularized code
Let's mark this postponed until we get something like that.
#9
+1, subscribing
#10
If this gets worked on again, ux-team was wondering if this step would become visible even if all requirements are met?
It would be best to do all the work behind the scenes here and only show stuff in the UI if problems are found. If not, don't stop to tell the user everything is ok so far, just move on.
#11
Currently we skip the requirements page if everything is met, I think the workflow for this would probably be the same.
#12
+1
this also means lang selecction must be php4 compatible!
#13
We also should check if the Tokenizer PHP extension is loaded, it's required by the registry.
#14
+1 and subscribing. I keep being surprised by all the new requirements to Drupal's HEAD when I update my test install. :x
#15
[corrected] #668136: Cant reach the requirements page without php5 enabled was marked as duplicate.
Un-postponing since it ain't going to happen for 7.x otherwise.
Actually not sure how realistic it is for 7.x since bootstrap.inc is not parseable in PHP4.
#16
We have a nice requirements status report as the first thing you see in the installer if requirements aren't met. I think we should postpone this to D8, given that #299308: Installing Drupal by visiting index.php (rather than install.php) leads to a fatal error when PDO is not enabled and others have separate issues open.
#17
I've now fixed the link to the issue at #15 ... in PHP4 the first thing you see is "Parse error: syntax error, unexpected '{' in [...]/drupal7/includes/bootstrap.inc on line ...".
#18
I think we have to deal with PHP4 in INSTALL.txt and Drupal.org, and by naming and shaming hosts which still run on it.
#19
There might not be much we can do for PHP 4, but I wonder about PHP 5.1? There's a related issue for that here: #722974: Install script returns a blank page for PHP4, PHP 5.1 (should display *something* instead)
#21
#17 related to #720742: try/catch in bootstrap.inc leads to fatal error with PHP 4 in installer