php:boot - When using --level=classloader, propagate the $civicrm_root #228
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Provide more hints to
CRM_Core_ClassLoader::register()
about how to setup classloader.Before
After
Comments
This complements civicrm-core#31512. The general idea is this:
vendor/autoload.php
.vendor/autoload.php
based on the nominal path (pre-symlink) rather than the real path (post-symlink).$civicrm_root
.eval(cv php:boot --level=classloader)
, the receiver doesn't loadcivicrm.settings.php
. So the receiver doesn't get$civicrm_root
. So we cannot use it as a reference-point to search forvendor/autoload.php
.$civicrm_root
, then the receiver can use it to search forvendor/autoload.php
.