我正在尝试使用include,allow_url_fopen = On和allow_url_include = On从其中一个局域网中包含远程文件。
一台本地PC(假设是pc2),我有remote.php,其中包含:
<?php
echo $var_on_pc1; // this doesn't output
$remote_var = 'Var on pc2';
function square($num){
return $num * $num;
}
?>
在我的电脑中(假设是pc1),我有test.php,其中包含:
<?php
$var_on_pc1 = 'Var on pc1';
include "http://pc2/path/to/remote.php";
echo $remote_var; // this doesn't output
echo square(4); // this got error
?>
当我运行脚本test.php时,我收到错误:
“致命错误:调用未定义的函数:square()in 第7行的路径/到/ test.php。
发生什么事了?我以为我可以调用包含的函数和变量,反之亦然? 如果我不能实现这个,那么最好的方法是什么?
我没有安全问题,因为我在本地使用它进行临时开发。
答案 0 :(得分:4)
在浏览器中输入http://pc2/path/to/remote.php
,看看你得到了什么。 PHP完全相同。
如果Web服务器正在pc2
处理PHP文件,您可能会在该文件中获得zilch,因为代码已经过处理。您需要将其他服务器配置为不处理PHP文件并改为提供其原始源代码。
这不是一个好主意。