diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 9bc36a49f..286761395 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -3,7 +3,10 @@ require_once __DIR__."/configs/conf.php"; $CC_CONFIG = Config::getConfig(); require_once __DIR__."/configs/ACL.php"; -require_once 'propel/propel1/runtime/lib/Propel.php'; +if (!@include_once('propel/propel1/runtime/lib/Propel.php')) +{ + die('Error: Propel not found. Did you install Airtime\'s third-party dependencies with composer? (Check the README.)'); +} Propel::init(__DIR__."/configs/airtime-conf-production.php"); diff --git a/airtime_mvc/application/configs/conf.php b/airtime_mvc/application/configs/conf.php index fd66453dd..38492c11e 100644 --- a/airtime_mvc/application/configs/conf.php +++ b/airtime_mvc/application/configs/conf.php @@ -27,7 +27,13 @@ class Config { // Parse separate conf file for Amazon S3 values $amazonFilename = isset($_SERVER['AMAZONS3_CONF']) ? $_SERVER['AMAZONS3_CONF'] : "/etc/airtime-saas/amazon.conf"; - $amazonValues = parse_ini_file($amazonFilename, true); + try { + $amazonValues = parse_ini_file($amazonFilename, true); + } catch (ErrorException $e) { + //This file gets loaded before the Zend bootstrap even runs so our exception handlers aren't installed yet. + //Just die with an error here then instead or handling the error any other way. + die("Error: Invalid or missing $amazonFilename."); + } $CC_CONFIG['cloud_storage'] = $amazonValues['cloud_storage']; $values = parse_ini_file($filename, true);