Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolve #110 Sync repo with CiviCRM-Drupal repo #115

Merged
merged 25 commits into from
Oct 12, 2020

Conversation

seamuslee001
Copy link
Contributor

No description provided.

@seamuslee001 seamuslee001 requested a review from herbdool March 13, 2020 23:32
@civibot
Copy link

civibot bot commented Mar 13, 2020

(Standard links)

@civibot civibot bot added the 1.x-master label Mar 13, 2020
JohnFF and others added 22 commits March 14, 2020 10:38
This version requirement officially went up to PHP 7.0 circa Civi 5.14.
However, at that time, the upgrade metadata was kept at PHP 5.6 to allow
somewhat softer landing for stragglers.  That's no longer possible in Civi
5.16+,

This just gives a clearer error when someone tries to upgrade with PHP 5.x.

Before
------

When upgrading via drush or Drupal web UI on PHP 5.6, the Civi class-loader fails to initialize.

```
Parse error: syntax error, unexpected ':', expecting '{' in /Users/totten/bknix/build/dmaster/web/sites/all/modules/civicrm/vendor/league/csv/src/functions.php on line 33
```

(Approximate call-path: `civicrm.drush.inc | civicrm.module` =>
`civicrm.settings.php` => `CRM_Core_ClassLoader` => `vendor/autoload.php` =>
`vendor/league/csv/src/functions.php`)

After
-----

When upgrading via drush on PHP 5.6, the error points to the actual problem.

```
[bknix-old:~/bknix/build/dmaster/web/sites/all/modules/civicrm] drush civicrm-upgrade-db
CiviCRM requires PHP 7.0.0+. Drush is running PHP 5.6.38.                                                                                                                [error]
```

When upgrading via web UI on PHP 5.6, the error message is similar:

```
CiviCRM requires PHP 7.0.0+. The web server is running PHP 5.6.38.
```

(Note: I tweaked the text to emphasize that the PHP version is determined by
the "drush" or "web server" environment - in some systems, these are
different environments with different PHP versions.  A phrase like "your
version" can be confusing/misleading in those cases.)

Comments
--------

The canonical representation of the minimum PHP version is in
`$civicrm_root/CRM/Upgrade/Form.php`.  However, correctly reading that
metadata requires loading `civicrm.settings.php`, which triggers the crash.

To work around this, we reproduce the constant and use a unit-test to ensure
its continued accuracy.

Also, it seems useful to put the same metadata in `civicrm.info`.  I'm not
sure if D7 uses this in a meaningful way, but it's good to be accurate.
civicrm.module Outdated Show resolved Hide resolved
Copy link
Contributor

@herbdool herbdool left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added some comments.

@herbdool
Copy link
Contributor

I guess we're still getting the error with $config.

Fatal error: Uncaught Error: Cannot use object of type CRM_Core_Config as array in /home/jenkins/bknix-dfl/build/bd-115-7z0ia/web/core/includes/config.inc on line 457

@seamuslee001
Copy link
Contributor Author

yeh neither PR has been merged

@seamuslee001
Copy link
Contributor Author

@herbdool made those changes

@herbdool
Copy link
Contributor

Looks good to me now

@seamuslee001
Copy link
Contributor Author

Jenkins re test this please

@seamuslee001
Copy link
Contributor Author

@herbdool should this get merged now?

@herbdool
Copy link
Contributor

This dropped off my radar, oops. You want to merge it or I could on Tuesday when I'm back at work.

@seamuslee001
Copy link
Contributor Author

I'm happy to merge it if your still ok with it @herbdool

@herbdool
Copy link
Contributor

Yup ok with me. I took another look. Go ahead @seamuslee001 thanks!

@seamuslee001 seamuslee001 merged commit e20f086 into civicrm:1.x-master Oct 12, 2020
@seamuslee001 seamuslee001 deleted the issue-110b branch October 12, 2020 10:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants