示例#1
0
require_once 'Flux/Dispatcher.php';
require_once 'Flux/SessionData.php';
require_once 'Flux/DataObject.php';
require_once 'Flux/Authorization.php';
require_once 'Flux/Installer.php';
require_once 'Flux/PermissionError.php';
// Vendor libraries.
require_once 'markdown/markdown.php';
try {
    if (!extension_loaded('pdo')) {
        throw new Flux_Error('The PDO extension is required to use Flux, please make sure it is installed along with the PDO_MYSQL driver.');
    } elseif (!extension_loaded('pdo_mysql')) {
        throw new Flux_Error('The PDO_MYSQL driver for the PDO extension must be installed to use Flux.  Please consult the PHP manual for installation instructions.');
    }
    // Initialize Flux.
    Flux::initialize(array('appConfigFile' => FLUX_CONFIG_DIR . '/application.php', 'serversConfigFile' => FLUX_CONFIG_DIR . '/servers.php'));
    // Set time limit.
    set_time_limit((int) Flux::config('ScriptTimeLimit'));
    // Set default timezone for entire app.
    $timezone = Flux::config('DateDefaultTimezone');
    if ($timezone && !@date_default_timezone_set($timezone)) {
        throw new Flux_Error("'{$timezone}' is not a valid timezone.  Consult http://php.net/timezones for a list of valid timezones.");
    }
    // Create some basic directories.
    $directories = array(FLUX_DATA_DIR . '/logs/schemas', FLUX_DATA_DIR . '/logs/schemas/logindb', FLUX_DATA_DIR . '/logs/schemas/charmapdb', FLUX_DATA_DIR . '/logs/transactions', FLUX_DATA_DIR . '/logs/mail', FLUX_DATA_DIR . '/logs/mysql', FLUX_DATA_DIR . '/logs/mysql/errors', FLUX_DATA_DIR . '/logs/errors', FLUX_DATA_DIR . '/logs/errors/exceptions', FLUX_DATA_DIR . '/logs/errors/mail');
    // Schema log directories.
    foreach (Flux::$loginAthenaGroupRegistry as $serverName => $loginAthenaGroup) {
        $directories[] = FLUX_DATA_DIR . "/logs/schemas/logindb/{$serverName}";
        $directories[] = FLUX_DATA_DIR . "/logs/schemas/charmapdb/{$serverName}";
        foreach ($loginAthenaGroup->athenaServers as $athenaServer) {
            $directories[] = FLUX_DATA_DIR . "/logs/schemas/charmapdb/{$serverName}/{$athenaServer->serverName}";