如何通过php代码获取URL中的本地IP

时间:2016-08-31 07:51:26

标签: php xampp moodle

我需要moodle配置文件的php相关帮助。 我在usb闪存驱动器上安装xampp,然后在其中安装moodle版本。现在我希望在我的局域网中使用动态IP地址运行它,就像我将我的闪存驱动器放在我的局域网的任何系统中并启动xampp服务器然后它自动将该系统的IP地址放在url中。 这是我的配置文件:     

unset($CFG);
global $CFG;
$CFG = new stdClass();

$CFG->dbtype    = 'mysqli';
$CFG->dblibrary = 'native';
$CFG->dbhost    = 'localhost';
$CFG->dbname    = 'exam';
$CFG->dbuser    = 'root';
$CFG->dbpass    = '';
$CFG->prefix    = 'mdl_';
$CFG->dboptions = array (
'dbpersist' => 0,
'dbport' => '',
'dbsocket' => '',
);
$CFG->wwwroot   = "http://localhost/examination";
$CFG->dataroot  = 'F:\\xampp\\moodledata';
$CFG->admin     = 'admin';

$CFG->directorypermissions = 0777;

require_once(dirname(__FILE__) . '/lib/setup.php');

// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!

现在排队" $ CFG-> wwwroot =" http://localhost/examination";"我希望动态地使用ip地址代替localhost,为此我找到了一个函数:

// function to get ip addresss
function getLocalIP(){
exec("ipconfig /all", $output);
foreach($output as $line){
if (preg_match("/(.*)IPv4 Address(.*)/", $line)){
$ip = $line;
$ip = str_replace("IPv4 Address. . . . . . . . . . . :","",$ip);
$ip = str_replace("(Preferred)","",$ip);
}
}
return $ip;
}
//echo $ip = getLocalIP();

但是当我把上面的功能放在一行时就像     $ CFG-> wwwroot =" http:// $ ip / examination&#34 ;; 它不会工作。 任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您应该调用函数名称getLocalIP()而不是$ip