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

Anonymous’s picture

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.

dave reid’s picture

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!

catch’s picture

Category: feature » task
Priority: Normal » Critical

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.

drewish’s picture

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...

catch’s picture

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

yoroy’s picture

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.

dropcube’s picture

@catch: yes, that seems a good workflow for the installer. Will post an initial patch soon.

dropcube’s picture

Status: Active » Postponed

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.

alexanderpas’s picture

+1, subscribing

yoroy’s picture

Issue tags: +installation

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.

catch’s picture

Currently we skip the requirements page if everything is met, I think the workflow for this would probably be the same.

alexanderpas’s picture

+1

this also means lang selecction must be php4 compatible!

dropcube’s picture

We also should check if the Tokenizer PHP extension is loaded, it's required by the registry.

Freso’s picture

+1 and subscribing. I keep being surprised by all the new requirements to Drupal's HEAD when I update my test install. :x

gpk’s picture

Version: 8.x-dev » 7.x-dev
Priority: Normal » Critical

[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.

catch’s picture

Version: 7.x-dev » 8.x-dev
Priority: Critical » Normal
Status: Postponed » Active

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.

gpk’s picture

Version: 7.x-dev » 8.x-dev
Priority: Critical » Normal

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 ...".

catch’s picture

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.

David_Rothstein’s picture

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)

mitchell’s picture

Issue tags: -revision

untagging 'revision'. Is this still an issue?

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.7 was released on June 3, 2020 and is the final full bugfix release for the Drupal 8.8.x series. Drupal 8.8.x will not receive any further development aside from security fixes. Sites should prepare to update to Drupal 8.9.0 or Drupal 9.0.0 for ongoing support.

Bug reports should be targeted against the 8.9.x-dev branch from now on, and new development or disruptive changes should be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.2.x-dev

Drupal 8 is end-of-life as of November 17, 2021. There will not be further changes made to Drupal 8. Bugfixes are now made to the 9.3.x and higher branches only. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.15 was released on June 1st, 2022 and is the final full bugfix release for the Drupal 9.3.x series. Drupal 9.3.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.4.x-dev branch from now on, and new development or disruptive changes should be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.9 was released on December 7, 2022 and is the final full bugfix release for the Drupal 9.4.x series. Drupal 9.4.x will not receive any further development aside from security fixes. Drupal 9 bug reports should be targeted for the 9.5.x-dev branch from now on, and new development or disruptive changes should be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

quietone’s picture

Version: 9.5.x-dev » 11.x-dev
Assigned: dropcube » Unassigned
Issue summary: View changes
Issue tags: -workflow, -D7UX, -edit content, -draft, -editing

Just make the image visible.

Version: 11.x-dev » main

Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

Read more in the announcement.