I switched a development environment running under Joomla and IIS to the CiviCRM:master branch. It now fails with

0 Class 'GuzzleHttp\Psr7\Uri' not found

Is this a Linux-specific class? If not, where do you find it? CiviCRM 4.7.x did not need it.



  1. cd to PHP install directory.
  2. composer require GuzzleHttp/psr7
  3. Add this to CiviCRM.settings.php: require_once $_SERVER["PHPRC"]. '/vendor/autoload.php';

@stehpen what you could also do there is cd to the civicrm dir and run composer install That will ensure that everything the .lock file requires is installed and it will also update the composer autoloader for civicrm.

  1. Guzzle is a client library for making HTTP requests. As with many PHP libraries required by Civi, it's declared in composer.json.

  2. When setting up an installation via git, one's process must install all current dependencies. Whenever I change to a different version, I usually do this with ./bin/setup.sh -D (or something even higher level, like ./bin/setup.sh or civibuild reinstall), but I don't know if those work under Joomla. The main things to look out for:

    • Install PHP dependencies with composer (i.e. composer install)
    • Install JS/CSS dependencies with bower (i.e. bower install)
  3. If you want to install the master branch on Joomla -- without digging into the build system -- consider grabbing an autobuild file from https://download.civicrm.org/latest

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.