本文整理汇总了PHP中setup_DB函数的典型用法代码示例。如果您正苦于以下问题:PHP setup_DB函数的具体用法?PHP setup_DB怎么用?PHP setup_DB使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了setup_DB函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setup_validate_php_configuration
require_once $CFG->libdir . '/eventslib.php';
// Events functions
require_once $CFG->libdir . '/grouplib.php';
// Groups functions
require_once $CFG->libdir . '/sessionlib.php';
// All session and cookie related stuff
require_once $CFG->libdir . '/editorlib.php';
// All text editor related functions and classes
require_once $CFG->libdir . '/messagelib.php';
// Messagelib functions
require_once $CFG->libdir . '/modinfolib.php';
// Cached information on course-module instances
// make sure PHP is not severly misconfigured
setup_validate_php_configuration();
// Connect to the database
setup_DB();
// Disable errors for now - needed for installation when debug enabled in config.php
if (isset($CFG->debug)) {
$originalconfigdebug = $CFG->debug;
unset($CFG->debug);
} else {
$originalconfigdebug = -1;
}
// Load up any configuration from the config table
initialise_cfg();
// Verify upgrade is not running unless we are in a script that needs to execute in any case
if (!defined('NO_UPGRADE_CHECK') and isset($CFG->upgraderunning)) {
if ($CFG->upgraderunning < time()) {
unset_config('upgraderunning');
} else {
print_error('upgraderunning');
示例2: setup_ExternalDB
/**
* Sets up global $DB moodle_database instance
*
* @global stdClass $CFG The global configuration instance.
* @see config.php
* @see config-dist.php
* @global stdClass $DB The global moodle_database instance.
* @return void|bool Returns true when finished setting up $DB. Returns void when $DB has already been set.
*/
function setup_ExternalDB()
{
global $CFG, $DB, $remotedb;
// Use a custom $remotedb (and not current system's $DB) if set - code sourced from configurable
// Reports plugin.
$remotedbhost = get_config('report_myfeedback', 'dbhost');
$remotedbname = get_config('report_myfeedback', 'dbname');
$remotedbuser = get_config('report_myfeedback', 'dbuser');
$remotedbpass = get_config('report_myfeedback', 'dbpass');
if (empty($remotedbhost) or empty($remotedbname) or empty($remotedbuser)) {
$remotedb = $DB;
setup_DB();
} else {
//
if (!isset($CFG->dblibrary)) {
$CFG->dblibrary = 'native';
// use new drivers instead of the old adodb driver names
switch ($CFG->dbtype) {
case 'postgres7':
$CFG->dbtype = 'pgsql';
break;
case 'mssql_n':
$CFG->dbtype = 'mssql';
break;
case 'oci8po':
$CFG->dbtype = 'oci';
break;
case 'mysql':
$CFG->dbtype = 'mysqli';
break;
}
}
if (!isset($CFG->dboptions)) {
$CFG->dboptions = array();
}
if (isset($CFG->dbpersist)) {
$CFG->dboptions['dbpersist'] = $CFG->dbpersist;
}
if (!($remotedb = moodle_database::get_driver_instance($CFG->dbtype, $CFG->dblibrary))) {
throw new dml_exception('dbdriverproblem', "Unknown driver {$CFG->dblibrary}/{$CFG->dbtype}");
}
try {
$remotedb->connect($remotedbhost, $remotedbuser, $remotedbpass, $remotedbname, $CFG->prefix, $CFG->dboptions);
} catch (moodle_exception $e) {
if (empty($CFG->noemailever) and !empty($CFG->emailconnectionerrorsto)) {
$body = "Connection error: " . $CFG->wwwroot . "\n\nInfo:" . "\n\tError code: " . $e->errorcode . "\n\tDebug info: " . $e->debuginfo . "\n\tServer: " . $_SERVER['SERVER_NAME'] . " (" . $_SERVER['SERVER_ADDR'] . ")";
if (file_exists($CFG->dataroot . '/emailcount')) {
$fp = @fopen($CFG->dataroot . '/emailcount', 'r');
$content = @fread($fp, 24);
@fclose($fp);
if (time() - (int) $content > 600) {
//email directly rather than using messaging
@mail($CFG->emailconnectionerrorsto, 'WARNING: Database connection error: ' . $CFG->wwwroot, $body);
$fp = @fopen($CFG->dataroot . '/emailcount', 'w');
@fwrite($fp, time());
}
} else {
//email directly rather than using messaging
@mail($CFG->emailconnectionerrorsto, 'WARNING: Database connection error: ' . $CFG->wwwroot, $body);
$fp = @fopen($CFG->dataroot . '/emailcount', 'w');
@fwrite($fp, time());
}
}
// rethrow the exception
throw $e;
}
$CFG->dbfamily = $remotedb->get_dbfamily();
// TODO: BC only for now
return true;
}
return false;
}