I am at my wits end:
In my PLESK panel PHP is set to 7.2
In the CLI the output of php -v is: PHP 7.1.26 (cli)(built: Jan 11 2019 11:47:41)( NTS )
but when I run: composer require guzzlehttp/guzzle
This is the error guzzlehttp/promises v1.3.1 requires php >=5.5.0 -> your PHP version (5.4.45) does not satisfy that requirement.
I even when as far as removing all other PHP version in PLESK
You say that you can change the PHP Settings in PLESK, that is commonly an example of a Multi PHP webserver.
That is very popular these days, but also there is something dangerous about it. When the website may run fine on it. The real problems is that there are two seperate PHP installations
The most legit situation is that your hosting provider installed Composer on PHP 5.4.45 and added PHP 7.+ after it.
Result: Composer will only work with PHP 5
You can see it as two seperate executable files (just for example, this is not the exact situation)
PHP 5: /usr/bin/php
PHP 7: /usr/bin/php7
There is one thing you can do right know. Do to the fact that PHP5 is the main PHP installation, I advise you to ask your hosting provider to reinstall Composer on PHP7
Note: Removing a PHP version in Plesk does not removes it also on the Operating System.