PHP包含文件但未定义的变量

时间:2013-04-24 08:28:15

标签: php

我是PHP的新手,我开始使用XAMPP来构建网站。我的代码如下

db.php中:

<?php
    $hostName='localhost';
    $userName='xxxxxxxxx';
    $userPass='xxxxxxxxx';
?>

和test.php:

<?php
    include 'db.php';
    echo $hostName;
?>

但现在它显示注意:未定义的变量:hostName

我发现register_globals需要在php.ini中设置“on”,但在我设置之后,XAMPP显示:当我重新启动XAMPP时,指令'register_globals'在PHP中不再可用

我将相同的代码移到Hosting24但是它有用,任何人都可以提供帮助吗?

4 个答案:

答案 0 :(得分:6)

我有点类似的问题 - 绝对不是OP的问题,但属于问题的标题。

在我的情况下,我在服务器上禁用了PHP短标签,但是包含的文件意外地使用了短标签。包含文件时,函数未定义,并且没有包含错误。我认为在这种情况下发生的是文件被包含但被视为空文件。

如果您在包含/要求后遇到“未定义”问题,请检查您的文件标签 - 以防万一。

答案 1 :(得分:0)

发生这种情况的唯一原因是文件db.php未正确包含。检查日志文件以了解这种情况发生的原因

当您包含文件时,PHP会将此文件视为将代码直接复制/粘贴到包含文件中。因此,包含文件中定义的所有变量将与包含文件具有相同的范围,因此可用。

在您的示例中,它应该可以正常工作。所以我的答案是:检查您的日志文件是否包含错误。确保将日志记录设置为FULL。

答案 2 :(得分:0)

我遇到了类似的问题,问题恰巧是文件的文件访问权限

答案 3 :(得分:-1)

尝试使用require_once('db.php')代替包含。