Answers.Body: <p>This is a very unusual error - but since you appear to be technical (this is a very well-written question!) I can recommend the following:</p>
  <ul>
  <li>Go to <strong>Support menu » Developer » API Explorer</strong>.</li>
  <li>Set <em>Entity</em> to <strong>Setting</strong> (see screenshot).</li>
  <li>Set <em>Action</em> to <strong>Get</strong>.</li>
  <li>Set the box under <em>Select</em> to <strong>ext_repo_url</strong>.</li>
  <li>Press <strong>Execute</strong>.</li>
  <li>Look at the <em>value</em> in the <em>Results</em> box. It should be <code>https://civicrm.org/extdir/ver={ver}|cms={uf}</code></li>
  </ul>
  <p>If it's not, it was changed in one of three places:</p>
  <ul>
  <li><code>&lt;civiroot&gt;/settings/Extension.settings.php</code> (<code>ext_repo_url</code> stanza, <code>default</code> value).  This is unlikely, since it would go away on upgrade.</li>
  <li>In the database.  In that case, set the <em>Action</em> to <strong>Set</strong>, the box under <em>Values</em> to <strong>ext_repo_url</strong>, and paste the URL above into the input box that appears.  Press <strong>Execute</strong>, then check that it worked with the &quot;Get&quot; instructions above.</li>
  <li>If it still hasn't changed, the only place that has higher precedence is in <code>civicrm.settings.php</code>.  Comment out any lines that have <code>ext_repo_url</code> in them, there's no good reason that this should be overridden in <code>civicrm.settings.php</code> unless you're a cloud provider of a fleet of CiviCRM instances.</li>
  </ul>
  <p><a href="https://i.sstatic.net/pWqKh.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/pWqKh.png" alt="enter image description here" /></a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-16T14:19:47.103Z
Answers.Text: THANK YOU JON! The ext_repo_url value was null in the database and thanks to your very clear instructions i set it correctly. *quickly goes to upgrade the version*
Answers.UserDisplayName: humanistsg
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-16T15:36:55.597Z
Answers.Text: Glad to hear it!  Though it being null shouldn't have been an issue, since the default in the `Extension.settings.php` file should've taken effect.  But whatever the case, I'm glad I was able to solve your problem.
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-16T03:22:48.457Z
Answers.LastActivityDate: 2023-08-16T03:22:48.457Z
Answers.UserDisplayName: Jon G - Megaphone Tech
Answers.Body: <p>You're running a very old version of CiviCRM and the code that's giving you the error has changed since that version. Can you upgrade?</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-16T14:04:30.407Z
Answers.Text: Thanks for the comment Lars! Yea... i am afraid of snowballing errors so i refrained from upgrading. I'll definitely go and upgrade after checking the places mentioned by Jon G!
Answers.UserDisplayName: humanistsg
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-08-15T17:10:03.667Z
Answers.LastActivityDate: 2023-08-15T17:10:03.667Z
Answers.UserDisplayName: Lars SG
Body: <p>i'm getting a cURL error which i am unable to find any solutions to after searching in this forum and on the internet. Will be eternally grateful for any advice.</p>
  <p>My CiviCRM is powered by CiviCRM 5.49.4. on Wordpress 6.1.3</p>
  <p>The cURL error 3 comes up when:</p>
  <ol>
  <li>Accessing the CiviCRM plugin landing page at [host]/wp-admin/admin.php?page=CiviCRM, the error disappears on refresh and the landing page widgets loads normally</li>
  <li>When accessing the Extensions page at [host]/wp-admin/admin.php?page=CiviCRM&amp;q=civicrm%2Fadmin%2Fextensions&amp;reset=1 , and the error persists.</li>
  </ol>
  <p><strong>I wonder if the extension directory is the issue:</strong></p>
  <p>Extensions Directory found at [host]/wp-admin/admin.php?page=CiviCRM&amp;q=civicrm%2Fadmin%2Fsetting%2Fpath reads</p>
  <blockquote>
  <p>[cms.root]/wp-content/uploads/civicrm/ext</p>
  </blockquote>
  <p>and the directory only contains a cache folder.</p>
  <p>While i see the extension resources appears to be stored at</p>
  <blockquote>
  <p>[cms.root]/wp-content/plugins/civicrm/civicrm/ext/</p>
  </blockquote>
  <p>But i am unable to draw the causal relationship between the error and the empty /ext/ directory... Please enlighten me!</p>
  <p><strong>Error stack trace:</strong></p>
  <p>I share the stack trace below with replaced [cms.root]</p>
  <pre><code>    $Fatal Error Details = array:3 [
    &quot;message&quot; =&gt; &quot;cURL error 3: URL rejected: No host part in the URL (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)&quot;
    &quot;code&quot; =&gt; null
    &quot;exception&quot; =&gt; GuzzleHttp\Exception\RequestException {#19613
      -request: GuzzleHttp\Psr7\Request {#19607
        -method: &quot;GET&quot;
        -requestTarget: null
        -uri: GuzzleHttp\Psr7\Uri {#19603
          -scheme: &quot;&quot;
          -userInfo: &quot;&quot;
          -host: &quot;&quot;
          -port: null
          -path: &quot;/single&quot;
          -query: &quot;&quot;
          -fragment: &quot;&quot;
        }
        -headers: array:1 [
          &quot;User-Agent&quot; =&gt; array:1 [
            0 =&gt; &quot;GuzzleHttp/6.5.5 curl/8.2.1 PHP/7.4.33&quot;
          ]
        ]
        -headerNames: array:1 [
          &quot;user-agent&quot; =&gt; &quot;User-Agent&quot;
        ]
        -protocol: &quot;1.1&quot;
        -stream: GuzzleHttp\Psr7\Stream {#19606
          -stream: stream resource {@490
            wrapper_type: &quot;PHP&quot;
            stream_type: &quot;TEMP&quot;
            mode: &quot;w+b&quot;
            unread_bytes: 0
            seekable: true
            uri: &quot;php://temp&quot;
            options: []
          }
          -size: 0
          -seekable: true
          -readable: true
          -writable: true
          -uri: &quot;php://temp&quot;
          -customMetadata: []
        }
      }
      -response: null
      -handlerContext: array:41 [
        &quot;errno&quot; =&gt; 3
        &quot;error&quot; =&gt; &quot;URL rejected: No host part in the URL&quot;
        &quot;appconnect_time&quot; =&gt; 0.0
        &quot;url&quot; =&gt; &quot;/single&quot;
        &quot;content_type&quot; =&gt; null
        &quot;http_code&quot; =&gt; 0
        &quot;header_size&quot; =&gt; 0
        &quot;request_size&quot; =&gt; 0
        &quot;filetime&quot; =&gt; -1
        &quot;ssl_verify_result&quot; =&gt; 0
        &quot;redirect_count&quot; =&gt; 0
        &quot;total_time&quot; =&gt; 0.0
        &quot;namelookup_time&quot; =&gt; 0.0
        &quot;connect_time&quot; =&gt; 0.0
        &quot;pretransfer_time&quot; =&gt; 0.0
        &quot;size_upload&quot; =&gt; 0.0
        &quot;size_download&quot; =&gt; 0.0
        &quot;speed_download&quot; =&gt; 0.0
        &quot;speed_upload&quot; =&gt; 0.0
        &quot;download_content_length&quot; =&gt; -1.0
        &quot;upload_content_length&quot; =&gt; -1.0
        &quot;starttransfer_time&quot; =&gt; 0.0
        &quot;redirect_time&quot; =&gt; 0.0
        &quot;redirect_url&quot; =&gt; &quot;&quot;
        &quot;primary_ip&quot; =&gt; &quot;&quot;
        &quot;certinfo&quot; =&gt; []
        &quot;primary_port&quot; =&gt; 0
        &quot;local_ip&quot; =&gt; &quot;&quot;
        &quot;local_port&quot; =&gt; 0
        &quot;http_version&quot; =&gt; 0
        &quot;protocol&quot; =&gt; 0
        &quot;ssl_verifyresult&quot; =&gt; 0
        &quot;scheme&quot; =&gt; &quot;&quot;
        &quot;appconnect_time_us&quot; =&gt; 0
        &quot;connect_time_us&quot; =&gt; 0
        &quot;namelookup_time_us&quot; =&gt; 0
        &quot;pretransfer_time_us&quot; =&gt; 0
        &quot;redirect_time_us&quot; =&gt; 0
        &quot;starttransfer_time_us&quot; =&gt; 0
        &quot;total_time_us&quot; =&gt; 0
        &quot;curl_version&quot; =&gt; &quot;8.2.1&quot;
      ]
      #message: &quot;cURL error 3: URL rejected: No host part in the URL (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)&quot;
      #code: 0
      #file: &quot;[cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php&quot;
      #line: 201
      trace: {
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:201 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:155 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:105 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php:43 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:28 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:51 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php:37 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Middleware.php:29 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php:70 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Middleware.php:59 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/HandlerStack.php:71 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Client.php:351 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Client.php:162 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Client.php:182 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Extension/Browser.php:253 {
          › $client = $this-&gt;getGuzzleClient();
          › $response = $client-&gt;request('GET', $url, ['sink' =&gt; $filename, 'timeout' =&gt; \Civi::settings()-&gt;get('http_timeout')]);
          › restore_error_handler();
          arguments: {
            $method: &quot;GET&quot;
            $uri: &quot;/single&quot;
            $options: array:3 [ …3]
          }
        }
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Extension/Browser.php:196 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Extension/Browser.php:151 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check/Component/Env.php:588 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check/Component.php:76 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check.php:236 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check.php:202 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check.php:93 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Page.php:248 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Event/Page/EventInfo.php:338 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:319 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:69 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:36 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm.php:1199 { …}
        [cms.root]/wp-content/plugins/civicrm/includes/civicrm.basepage.php:380 { …}
        [cms.root]/wp-includes/class-wp-hook.php:308 { …}
        [cms.root]/wp-includes/class-wp-hook.php:332 { …}
        [cms.root]/wp-includes/plugin.php:565 { …}
        [cms.root]/wp-includes/class-wp.php:797 { …}
        [cms.root]/wp-includes/functions.php:1332 { …}
        [cms.root]/wp-blog-header.php:16 { …}
        [cms.root]/index.php:17 { …}
      }
    }
  ]
  
  
  Aug 06 17:03:25  [debug] $backTrace = #0 [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(433): CRM_Core_Error::backtrace(&quot;backTrace&quot;, TRUE)
  #1 [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(39): CRM_Core_Error::handleUnhandledException(Object(GuzzleHttp\Exception\RequestException))
  #2 [cms.root]/wp-content/plugins/civicrm/civicrm.php(1199): CRM_Core_Invoke::invoke((Array:3))
  #3 [cms.root]/wp-content/plugins/civicrm/includes/civicrm.basepage.php(380): CiviCRM_For_WordPress-&gt;invoke()
  #4 [cms.root]/wp-includes/class-wp-hook.php(308): CiviCRM_For_WordPress_Basepage-&gt;basepage_handler(Object(WP))
  #5 [cms.root]/wp-includes/class-wp-hook.php(332): WP_Hook-&gt;apply_filters(&quot;&quot;, (Array:1))
  #6 [cms.root]/wp-includes/plugin.php(565): WP_Hook-&gt;do_action((Array:1))
  #7 [cms.root]/wp-includes/class-wp.php(797): do_action_ref_array(&quot;wp&quot;, (Array:1))
  #8 [cms.root]/wp-includes/functions.php(1332): WP-&gt;main(&quot;&quot;)
  #9 [cms.root]/wp-blog-header.php(16): wp()
  #10 [cms.root]/index.php(17): require(&quot;[cms.root]/wp-blog-header.php&quot;)
  #11 {main}
  </code></pre>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-08-16T02:59:02.970Z
Comments.Text: Those two extensions directories serve different purposes.  You should place your extensions in `[cms.root]/wp-content/uploads/civicrm/ext`.  `[cms.root]/wp-content/plugins/civicrm/civicrm/ext/` is for extensions that ship with CiviCRM itself.  If you install extensions here, they're likely to be lost during upgrade.  In other words - I don't think the empty directory is your issue!
Comments.UserDisplayName: Jon G - Megaphone Tech
Tags: <extension><error><directory>
Title: "cURL error 3: URL rejected: No host part in the URL" when opening extensions page
ThreadText: # "cURL error 3: URL rejected: No host part in the URL" when opening extensions page
  
  (Asked by: username_0 on 2023-08-15)
  
  i'm getting a cURL error which i am unable to find any solutions to after searching in this forum and on the internet. Will be eternally grateful for any advice.
  My CiviCRM is powered by CiviCRM 5.49.4. on Wordpress 6.1.3
  The cURL error 3 comes up when:
  
  Accessing the CiviCRM plugin landing page at [host]/wp-admin/admin.php?page=CiviCRM, the error disappears on refresh and the landing page widgets loads normally
  When accessing the Extensions page at [host]/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fextensions&reset=1 , and the error persists.
  
  I wonder if the extension directory is the issue:
  Extensions Directory found at [host]/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fadmin%2Fsetting%2Fpath reads
  
  [cms.root]/wp-content/uploads/civicrm/ext
  
  and the directory only contains a cache folder.
  While i see the extension resources appears to be stored at
  
  [cms.root]/wp-content/plugins/civicrm/civicrm/ext/
  
  But i am unable to draw the causal relationship between the error and the empty /ext/ directory... Please enlighten me!
  Error stack trace:
  I share the stack trace below with replaced [cms.root]
      $Fatal Error Details = array:3 [
    "message" => "cURL error 3: URL rejected: No host part in the URL (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)"
    "code" => null
    "exception" => GuzzleHttp\Exception\RequestException {#19613
      -request: GuzzleHttp\Psr7\Request {#19607
        -method: "GET"
        -requestTarget: null
        -uri: GuzzleHttp\Psr7\Uri {#19603
          -scheme: ""
          -userInfo: ""
          -host: ""
          -port: null
          -path: "/single"
          -query: ""
          -fragment: ""
        }
        -headers: array:1 [
          "User-Agent" => array:1 [
            0 => "GuzzleHttp/6.5.5 curl/8.2.1 PHP/7.4.33"
          ]
        ]
        -headerNames: array:1 [
          "user-agent" => "User-Agent"
        ]
        -protocol: "1.1"
        -stream: GuzzleHttp\Psr7\Stream {#19606
          -stream: stream resource {@490
            wrapper_type: "PHP"
            stream_type: "TEMP"
            mode: "w+b"
            unread_bytes: 0
            seekable: true
            uri: "php://temp"
            options: []
          }
          -size: 0
          -seekable: true
          -readable: true
          -writable: true
          -uri: "php://temp"
          -customMetadata: []
        }
      }
      -response: null
      -handlerContext: array:41 [
        "errno" => 3
        "error" => "URL rejected: No host part in the URL"
        "appconnect_time" => 0.0
        "url" => "/single"
        "content_type" => null
        "http_code" => 0
        "header_size" => 0
        "request_size" => 0
        "filetime" => -1
        "ssl_verify_result" => 0
        "redirect_count" => 0
        "total_time" => 0.0
        "namelookup_time" => 0.0
        "connect_time" => 0.0
        "pretransfer_time" => 0.0
        "size_upload" => 0.0
        "size_download" => 0.0
        "speed_download" => 0.0
        "speed_upload" => 0.0
        "download_content_length" => -1.0
        "upload_content_length" => -1.0
        "starttransfer_time" => 0.0
        "redirect_time" => 0.0
        "redirect_url" => ""
        "primary_ip" => ""
        "certinfo" => []
        "primary_port" => 0
        "local_ip" => ""
        "local_port" => 0
        "http_version" => 0
        "protocol" => 0
        "ssl_verifyresult" => 0
        "scheme" => ""
        "appconnect_time_us" => 0
        "connect_time_us" => 0
        "namelookup_time_us" => 0
        "pretransfer_time_us" => 0
        "redirect_time_us" => 0
        "starttransfer_time_us" => 0
        "total_time_us" => 0
        "curl_version" => "8.2.1"
      ]
      #message: "cURL error 3: URL rejected: No host part in the URL (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)"
      #code: 0
      #file: "[cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php"
      #line: 201
      trace: {
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:201 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:155 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:105 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php:43 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:28 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:51 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php:37 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Middleware.php:29 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php:70 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Middleware.php:59 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/HandlerStack.php:71 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Client.php:351 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Client.php:162 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/vendor/guzzlehttp/guzzle/src/Client.php:182 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Extension/Browser.php:253 {
          › $client = $this->getGuzzleClient();
          › $response = $client->request('GET', $url, ['sink' => $filename, 'timeout' => \Civi::settings()->get('http_timeout')]);
          › restore_error_handler();
          arguments: {
            $method: "GET"
            $uri: "/single"
            $options: array:3 [ …3]
          }
        }
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Extension/Browser.php:196 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Extension/Browser.php:151 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check/Component/Env.php:588 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check/Component.php:76 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check.php:236 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check.php:202 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Utils/Check.php:93 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Page.php:248 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Event/Page/EventInfo.php:338 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:319 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:69 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php:36 { …}
        [cms.root]/wp-content/plugins/civicrm/civicrm.php:1199 { …}
        [cms.root]/wp-content/plugins/civicrm/includes/civicrm.basepage.php:380 { …}
        [cms.root]/wp-includes/class-wp-hook.php:308 { …}
        [cms.root]/wp-includes/class-wp-hook.php:332 { …}
        [cms.root]/wp-includes/plugin.php:565 { …}
        [cms.root]/wp-includes/class-wp.php:797 { …}
        [cms.root]/wp-includes/functions.php:1332 { …}
        [cms.root]/wp-blog-header.php:16 { …}
        [cms.root]/index.php:17 { …}
      }
    }
  ]
  
  
  Aug 06 17:03:25  [debug] $backTrace = #0 [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(433): CRM_Core_Error::backtrace("backTrace", TRUE)
  #1 [cms.root]/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(39): CRM_Core_Error::handleUnhandledException(Object(GuzzleHttp\Exception\RequestException))
  #2 [cms.root]/wp-content/plugins/civicrm/civicrm.php(1199): CRM_Core_Invoke::invoke((Array:3))
  #3 [cms.root]/wp-content/plugins/civicrm/includes/civicrm.basepage.php(380): CiviCRM_For_WordPress->invoke()
  #4 [cms.root]/wp-includes/class-wp-hook.php(308): CiviCRM_For_WordPress_Basepage->basepage_handler(Object(WP))
  #5 [cms.root]/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters("", (Array:1))
  #6 [cms.root]/wp-includes/plugin.php(565): WP_Hook->do_action((Array:1))
  #7 [cms.root]/wp-includes/class-wp.php(797): do_action_ref_array("wp", (Array:1))
  #8 [cms.root]/wp-includes/functions.php(1332): WP->main("")
  #9 [cms.root]/wp-blog-header.php(16): wp()
  #10 [cms.root]/index.php(17): require("[cms.root]/wp-blog-header.php")
  #11 {main}
  
  **Tags:** extension, error, directory
  
  > **Comments:**
  > **username_1**: Those two extensions directories serve different purposes.  You should place your extensions in `[cms.root]/wp-content/uploads/civicrm/ext`.  `[cms.root]/wp-content/plugins/civicrm/civicrm/ext/` is for extensions that ship with CiviCRM itself.  If you install extensions here, they're likely to be lost during upgrade.  In other words - I don't think the empty directory is your issue!  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2023-08-16. Score: 2 | Accepted answer
  
  This is a very unusual error - but since you appear to be technical (this is a very well-written question!) I can recommend the following:
  
  * Go to **Support menu » Developer » API Explorer**.
  * Set *Entity* to **Setting** (see screenshot).
  * Set *Action* to **Get**.
  * Set the box under *Select* to **ext\_repo\_url**.
  * Press **Execute**.
  * Look at the *value* in the *Results* box. It should be `https://civicrm.org/extdir/ver={ver}|cms={uf}`
  
  If it's not, it was changed in one of three places:
  
  * `/settings/Extension.settings.php` (`ext_repo_url` stanza, `default` value). This is unlikely, since it would go away on upgrade.
  * In the database. In that case, set the *Action* to **Set**, the box under *Values* to **ext\_repo\_url**, and paste the URL above into the input box that appears. Press **Execute**, then check that it worked with the "Get" instructions above.
  * If it still hasn't changed, the only place that has higher precedence is in `civicrm.settings.php`. Comment out any lines that have `ext_repo_url` in them, there's no good reason that this should be overridden in `civicrm.settings.php` unless you're a cloud provider of a fleet of CiviCRM instances.
  
  [![enter image description here](https://i.sstatic.net/pWqKh.png)](https://i.sstatic.net/pWqKh.png)
  
  > **Comments:**
  > **username_0**: THANK YOU JON! The ext_repo_url value was null in the database and thanks to your very clear instructions i set it correctly. *quickly goes to upgrade the version*  
  > **username_1**: Glad to hear it!  Though it being null shouldn't have been an issue, since the default in the `Extension.settings.php` file should've taken effect.  But whatever the case, I'm glad I was able to solve your problem.  
  
  ---
  
  ### Answer by username_2 on 2023-08-15. Score: 1
  
  You're running a very old version of CiviCRM and the code that's giving you the error has changed since that version. Can you upgrade?
  
  > **Comments:**
  > **username_0**: Thanks for the comment Lars! Yea... i am afraid of snowballing errors so i refrained from upgrading. I'll definitely go and upgrade after checking the places mentioned by Jon G!  
  
  ---
  
  