Чтение файла не перезапускается с использованием PHP - PullRequest
0 голосов
/ 31 августа 2018

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

Error

[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>";
    }

1 Ответ

0 голосов
/ 03 сентября 2018
$myFile = dirname(__FILE__) . "/send.txt";

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

...