PHP包含并要求丢失变量

时间:2015-09-22 01:40:58

标签: php include require require-once

我有以下两个文件。第一个是长PHP脚本,第二个只是少数几个变量:

File1.php:

<?php
...
function abc()
    {
        ...
        include "File2.php";
        echo "$x $y $z";
        ...
    }
?>

File2.php:

<?php
$x=1;
$y=2;
$z=3;
?>

我的函数在echo语句中没有显示任何变量 - 使用xdebug我逐步执行它,包括第二个文件,每个变量看起来都是正确的,但是当它离开File2.php时,它会丢失所有变量变量。为什么会这样?

我已经删除了第一个文件以除去上面的所有内容 - 它运行正常。我不知道从哪里开始查看可能导致此问题发生的数千行代码。

我甚至尝试过使用require / require_once - 同样的问题......

有没有人遇到过此问题或有任何想法如何调试它?

2 个答案:

答案 0 :(得分:0)

<强> File2.php

<?php
    $x=1;
    $y=2;
    $z=3;
?>

如果您需要在file2.php内拨打file1.php,则必须使用include()功能

正确使用方式

include ('File2.php'); //correct
include 'File2.php'; //correct
include File2.php; //wrong 

<强> File1.php

<?php   

    function abc()
    {
        include ('File2.php');
        echo "$x $y $z";
    }
?>

答案 1 :(得分:0)

试试这个: - File1.php:

<?php
include ('File2.php');

echo $x;
echo '<br>';
echo $y;
echo '<br>';
echo $z;
?>

File2.php

<?php
    $x=1;
    $y=2;
    $z=3;
?>