Question: What could be causing the ext_repo_url setting value to be empty when running in the browser, though it appears to be correct when running in cv?

Under civicrm 5.35.2, if I visit the Extensions page, I see this message:

Extension download error
The CiviCRM public extensions directory at could not be contacted - please check your webserver can make external HTTP requests or contact CiviCRM team on CiviCRM forum.

Notice that it says "extensions directory at could not", implying an empty value for the repo URL.

Things seem to work normally using cv:

  • At the command line I run cv api Extension.getremote, I get a full json array of remote extensions.
  • From the command line, the setting has what appears to be a correct value.
cv api setting.get | grep -i ext_repo_url  
"ext_repo_url": "https://civicrm.org/extdir/ver={ver}|cms={uf}",
  • I also tried a script with cv scr, and get what looks like correct output, like so:
$ cat /tmp/a.php
$a = CRM_Extension_System::singleton()->getBrowser()->getRepositoryUrl();
$ cv scr /tmp/a.php
string(51) "https://civicrm.org/extdir/ver=5.35.2|cms=WordPress"

But for content called from the browser, the repo setting appears to be empty. To test, I added this code to an existing extension:

function activityical_civicrm_pageRun(&$page) {
  $page_name = $page->getVar('_name');
$repo = CRM_Extension_System::singleton()->getBrowser()->getRepositoryUrl();
echo "<!-- page_name: $page_name -->\n";
echo "<!-- repo_url: $repo  -->\n";

And then I view the page source at https://REDACTED.example.org/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions&reset=1 , which says:

<!-- page_name: CRM_Admin_Page_Extensions -->
<!-- repo_url:  -->
<!DOCTYPE html>

Also tried:

  • cv flush and wp cache flush do not make any change in the above findings.
  • Is this a multidomain setup? – Demerit Apr 30 at 19:09
  • Nope, just one domain on this server. – TwoMice May 2 at 20:46
  • Is memcache active? – Aidan May 4 at 9:12
  • Aidan: nope, no memcache. – TwoMice May 4 at 20:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.