Moodle — чтение файла не перезапускается с помощью переполнения стека

У меня есть этот код для инициирования соединения с БД на основе учетных данных вошедшего в систему пользователя, проблема в том, что он работает на первой странице (целевой странице). Если я перехожу с целевой страницы, он не устанавливает соединение снова. Мне интересно, что может быть не так?
Если я вручную добавляю к нему учетные данные пользователя, он работает отлично, но когда он добавляется динамически, он не запускается повторно, если я перехожу с целевой страницы.
Когда я читаю журнал PHP в MAMP, он всегда отображает эту ошибку. В любом случае, чтобы перезапустить его, если я перейду с целевой страницы?

ошибка

[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 ( ‘/ Applications / 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>";
}

0

Решение

$myFile = dirname(__FILE__) . "/send.txt";

Когда путь к файлу используется в других местах, а не в корневом каталоге, он не может быть найден, потому что fopen не может найти файл с относительным путем в текущем каталоге. Использовать абсолютный путь

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]