我有这个代码根据登录的用户凭据启动数据库连接,它的问题是它在第一页(登录页面)上工作。如果我从登录页面导航,则不会再次启动连接。我想知道什么可能是错的?如果我手动将用户的凭据添加到它,它可以正常工作,但是当它动态添加时,如果我从登录页面导航,则无法再次重新启动。当我在MAMP中读取PHP日志时,它总是显示此错误。无论如何,如果我从着陆页导航,它会重新启动吗?
错误
[31-Aug-2018 21:51:11 Europe/Berlin] PHP Warning: fopen(send.txt): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/moodle35/config.php on line 7
[31-Aug-2018 21:51:11 Europe/Berlin] PHP Warning: fread() expects parameter 1 to be resource, boolean given in /Applications/MAMP/htdocs/moodle35/config.php on line 8
[31-Aug-2018 21:51:11 Europe/Berlin] PHP Notice: Undefined property: stdClass::$libdir in /Applications/MAMP/htdocs/moodle35/lib/ajax/service.php on line 33
[31-Aug-2018 21:51:11 Europe/Berlin] PHP Warning: require_once(/externallib.php): failed to open stream: No such file or directory in /Applications/MAMP/htdocs/moodle35/lib/ajax/service.php on line 33
[31-Aug-2018 21:51:11 Europe/Berlin] PHP Fatal error: require_once(): Failed opening required '/externallib.php' (include_path='.:/Applications/MAMP/bin/php/php7.0.15/lib/php') in /Applications/MAMP/htdocs/moodle35/lib/ajax/service.php on line 33
代码// require_once('send.txt'); require_once( '/应用程序/ MAMP / htdocs中/注册/ DBConnect.php');
$myFile = "send.txt";
$fh = fopen($myFile, 'r');
$myFileContents = fread($fh, 21);
//fclose($fh);
$mytrimmedvalue = trim($myFileContents);
unset($CFG);
global $CFG;
$CFG = new stdClass();
if ( $mytrimmedvalue != '' ) {
$database = new dbConnect();
$db = $database->openConnection();
$sql = "select * from ol_users where username = '$mytrimmedvalue'";
$user = $db->query($sql);
$result = $user->fetchAll(PDO::FETCH_ASSOC);
debug_to_console($result[0]['serverhosturl'] .'---------' .$mytrimmedvalue .'----------' .$result[0]['databasename']);
$CFG->dbtype = 'mysqli';
$CFG->dblibrary = 'native';
$CFG->dbhost = $result[0]['serverhosturl'];
$CFG->dbname = $result[0]['databasename'];
$CFG->dbuser = $result[0]['serveruser'];
$CFG->dbpass = '111111ade';
$CFG->prefix = 'mdl_';
$CFG->dboptions = array (
'dbpersist' => 0,
'dbport' => '',
'dbsocket' => '1',
'dbcollation' => 'utf8mb4_unicode_ci',
);
$CFG->wwwroot = 'http://localhost:8888/moodle35';
// $CFG->wwwroot = 'http://192.168.0.199:8888/moodle35';
$CFG->dataroot = $result[0]['moodledataurl'];
$CFG->admin = 'admin';
$CFG->directorypermissions = 0777;
require_once(dirname(__FILE__) . '/lib/setup.php');
//$database->closeConnection();
}
function debug_to_console( $data ) {
$output = $data;
if ( is_array( $output ) )
$output = implode( ',', $output);
echo "<script>console.log( 'Debug Objects: " . $output . "' );</script>";
}
$myFile = dirname(__FILE__) . "/send.txt";
当文件路径在其他地方而不是根目录中使用时,无法找到它,因为fopen
无法在当前目录中找到具有相对路径的文件。使用绝对路径