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

cro*_*sRT 6 php

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

db.php中:

<?php
    $hostName='localhost';
    $userName='xxxxxxxxx';
    $userPass='xxxxxxxxx';
?>
Run Code Online (Sandbox Code Playgroud)

和test.php:

<?php
    include 'db.php';
    echo $hostName;
?>
Run Code Online (Sandbox Code Playgroud)

但现在它告诉我注意:未定义的变量:hostName

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

我将相同的代码移动到Hosting24,但它的工作,任何人都可以帮助?

mcm*_*xvi 6

我只是遇到了类似的问题 - 绝对不是OP的问题,但属于问题的标题.

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

如果在包含/要求后出现"未定义"问题,请检查文件标签 - 以防万一.


Chr*_*n-G 0

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

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

在你的例子中,它应该可以工作。所以我的答案是:检查日志文件中是否包含错误。确保日志记录设置为“完整”。