读取文件不会使用PHP重新启动

问题描述 投票:0回答:1

我有这个代码根据登录的用户凭据启动数据库连接,它的问题是它在第一页(登录页面)上工作。如果我从登录页面导航,则不会再次启动连接。我想知道什么可能是错的?如果我手动将用户的凭据添加到它,它可以正常工作,但是当它动态添加时,如果我从登录页面导航,则无法再次重新启动。当我在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>";
    }
php moodle filereader
1个回答
1
投票
$myFile = dirname(__FILE__) . "/send.txt";

当文件路径在其他地方而不是根目录中使用时,无法找到它,因为fopen无法在当前目录中找到具有相对路径的文件。使用绝对路径

© www.soinside.com 2019 - 2024. All rights reserved.