I suddenly have a path problem on one of the sites I look after. I just updated to Civi 5.28.3 and wordpress was already at 5.5. I can't swear that the problem occurred because of the upgrade though.
The problem manifests itself when some URLs are built. I can see it in the webhook paths (missing the host and directory path):
Stripe Webhook missing or needs update! Expected webhook path is: ?civiwp=CiviCRM&q=civicrm%2Fpayment%2Fipn%2F4
and I have noticed the same behaviour for various placeholders in the Mosaico extension when i use the inspector to look at the code sent to the browser.
I looked at the resource path settings and they all look ok and are a match for the same settings on a working civicrm site I have.
I have done a slow scroll through civicrm.settings.php, but have seen nothing that seems concerning. The site was seemingly working last week before the upgrade. I suppose I could roll back, but I'd rather not if I can simply find where the path is being set and fix that.
UPDATE: I have, as suggested followed the threads in the post linked below, but all of my paths report correctly when viewed in the admin settings pages (see above) or when queried on the command line:
root@kaos01:/var/www/civi.sitename.org/wordpress# cv path -d [civicrm.files] /var/www/civi.sitename.org/wordpress/wp-content/uploads/civicrm root@kaos01:/var/www/civi.sitename.org/wordpress# cv url -d [civicrm.files] "https://civi.sitename.org/wp-content/uploads/civicrm"
I have also explicitly set the civicrm.files path and url variables in civicrm.settings.php
$civicrm_paths['civicrm.files']['path'] = '/var/www/civi.sitename.org/wordpress/wp-content/uploads/civicrm'; $civicrm_paths['civicrm.files']['url'] = 'https://civi.sitename.org/wp-content/uploads/civicrm';
Certainly, it seems clear that the URL string is missing when needed, but I can't figure out where else to look. I have now discovered the problem on a second site.
FURTHER UPDATE: Though the problem is occurring in multiple places I'm focussing on the STripe plugin as it makes it very visible. The MJWshared extension uses CRM_Utils_System::url to assemble the needed webhook url. it seems clear that CRM_Utils_System::url is not finding the base part is needs, but it is not clear to me how that function goes about finding the bits it needs.