civix civicrm:ping not printing any output
I would try

civix civicrm:ping -v


or even:

civix civicrm:ping -vvv


as the first thing as that could show something useful in the future.

civix will fail silently if your civicrm.settings.php file:


is turning down phps error reporting and it hits an error
contains a die or exit command


Eventually I figured out the problem as here:


// civicrm.settings.php
// set up php to show errors:
if (isset($_SERVER['HTTP_HOST']) &amp;&amp; strstr($_SERVER['HTTP_HOST'], 'dev')) {
  error_reporting(E_ALL | E_STRICT);
  ini_set('display_errors', TRUE);
  ini_set('display_startup_errors', TRUE);
}
else {
  error_reporting(0); // &lt;&lt;&lt; this is bad if you cant find your problem!!
}


Inserting this in the else section confirmed that $_SERVER['HTTP_HOST'] was undefined:


echo '$_SERVER: '.json_encode($_SERVER,JSON_PRETTY_PRINT)."\n";
   

So I was able to correct this just by setting up a mock value in bash to fix my civicrm.settings.php logic, and also to allow Drupal to find the right sites/XXX/settings.php file:

declare -x HTTP_HOST=contact-qld-dev1.myorg.example.com