require 'IPAddress.inc.php'; require 'Shards.inc.php'; require 'config/dbconnect.inc.php'; require 'StatsD.inc.php'; // Use DB read replicas for GET requests if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] == 'GET') { Zotero_DB::readOnly(true); } // Database callbacks Zotero_DB::addCallback("begin", array("Zotero_Notifier", "begin")); Zotero_DB::addCallback("commit", array("Zotero_Notifier", "commit")); Zotero_DB::addCallback("callback", array("Zotero_Notifier", "reset")); Zotero_NotifierObserver::init(); // Memcached require 'Memcached.inc.php'; Z_Core::$MC = new Z_MemcachedClientLocal(Z_CONFIG::$SYNC_DOMAIN, array('disabled' => !Z_CONFIG::$MEMCACHED_ENABLED, 'servers' => Z_CONFIG::$MEMCACHED_SERVERS)); Zotero_DB::addCallback("begin", array(Z_Core::$MC, "begin")); Zotero_DB::addCallback("commit", array(Z_Core::$MC, "commit")); Zotero_DB::addCallback("reset", array(Z_Core::$MC, "reset")); // // Set up AWS service factory // $awsConfig = ['region' => !empty(Z_CONFIG::$AWS_REGION) ? Z_CONFIG::$AWS_REGION : 'us-east-1', 'version' => 'latest', 'signature' => 'v4']; // IAM role authentication if (empty(Z_CONFIG::$AWS_ACCESS_KEY)) { // If APC cache is available, use that to cache temporary credentials if (function_exists('apc_store')) { $cache = new \Doctrine\Common\Cache\ApcCache(); } else { $cache = new \Doctrine\Common\Cache\FilesystemCache(Z_ENV_BASE_PATH . 'tmp/cache'); }