我正在处理两个文件 - 包含类Background的a.php和包含a.php的b.php。 *在a.php中,在类范围之外,有一个echo语句“background check”。
当我加载b.php时,我可以看到输出“background check”,但是当我尝试创建一个后台对象时,会出现下一条警告消息:
Fatal error: Class 'Background' not found in ....
以下是来自b.php的代码示例:
<?php
include ('http://localhost/wT/sf/a.php');
$url2="http://www.google.com";
$b = new Background($url2);
?>
答案 0 :(得分:4)
如果http://localhost/wT/sf/a.php
(在Web浏览器中)的输出不是PHP源代码,那么您的include将无效。您可能(在您的情况下)必须包含文件系统中的文件,而不是通过HTTP地址。
答案 1 :(得分:3)
使用包含的相对路线,不一个网址。
换句话说,您所包含的文件必须与您所包含的文件位于同一服务器上(或能够在同一服务器上访问)。
答案 2 :(得分:1)
尝试使用此类功能:
<?php
include ('/var/www/wT/sf/a.php'); //your filesystem location to a.php
$url2="http://www.google.com";
$b = new Background($url2);
?>
答案 3 :(得分:0)
您正在使用web-url而不是使用系统路径,如
<?php
include ($_SERVER['document_root'].'/a.php');
$url2="http://www.google.com";
$b = new Background($url2);
?>
答案 4 :(得分:0)
在include方法中,您应该使用相对文件路径
根据给定的文件路径包含文件,如果没有给出,则指定include_path。如果在include_path中找不到该文件,include将最终在失败前检入调用脚本自己的目录和当前工作目录。如果找不到文件,include构造将发出警告