包含 php 文件时,我遇到了一些非常奇怪的行为。
我需要加载一个与将要调用它的页面不在同一个域中的脚本。
我已经创建了一个使用 cURL 工作的系统,但我最近发现许多需要访问此脚本的站点都没有安装 cURL。但是,我确实注意到这些站点已allow_url_fopen
设置为on
. 有了这些知识,我开始创建一个新系统,让我只需将脚本包含在远程站点上。
只是测试一下,我将脚本编码test.php
如下:
<?php
echo("test");
?>
我使用以下方法在远程页面上包含此脚本:
<?php
include("http://mydomain.com/script.php");
?>
它没有问题,并且“测试”打印在页面顶部。
但是,如果我在脚本中添加一个函数并尝试从页面调用该函数,它就会崩溃。
更糟糕的是,这个网站关闭了 php 错误,我无法打开它。
为了完全确保我不只是弄乱了代码,我让自己test.php
看起来像这样:
<?php
function myfunc()
{
return "abc";
}
?>
然后在包含文件的页面上:
<?php
include("http://mydomain.com/script.php");
echo(myfunc());
?>
它崩溃了。任何想法将不胜感激。