Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 未定义变量_Variables_Xdebug_Php - Fatal编程技术网

Variables 未定义变量

Variables 未定义变量,variables,xdebug,php,Variables,Xdebug,Php,我在contact和shirts中定义了两个变量。正如你所看到的,它们也在li in标题中。但我还是得到了这样一个信息:这两个变量都未定义 我收到以下错误消息: (!)尖叫:已忽略(!)的错误抑制 注意:未定义变量:中的节 第17行的C:\wamp\www\Test\shirts4mike\inc\header.php 调用堆栈#TimeMemoryFunctionLocation 10.0003243592{main}( )..\index.php:0 20.0006246920包括('C:\

我在contact和shirts中定义了两个变量。正如你所看到的,它们也在li in标题中。但我还是得到了这样一个信息:这两个变量都未定义

我收到以下错误消息:

(!)尖叫:已忽略(!)的错误抑制

注意:未定义变量:中的节 第17行的C:\wamp\www\Test\shirts4mike\inc\header.php

调用堆栈#TimeMemoryFunctionLocation 10.0003243592{main}( )..\index.php:0

20.0006246920包括('C:\wamp\www\Test\shirts4mike\inc\header.php')..\index.php:3“>

第18行也是这样

shirts.php

     <?php
            $pageTitle = "Mike's Full Catalog of Shirts";
            $section = "shirts";
            include('inc/header.php'); ?>

                    <div class="section page">
                            <h1>Mikes&rsquo;s Full Catalog of Shirts</h1>
                    </div>

            <?php include ('inc/footer.php'); ?>
<?php
    $pageTitle = "Contact Mike";
     $section = "contact";
     include('inc/header.php'); ?>

           <div class="section page">

           <h1>Contact</h1>

           </div>


<?php include ('inc/footer.php'); ?>
<html>
        <head>
                <title> <?php echo $pageTitle ?></title>
                <link rel="stylesheet" href="css/style.css" type="text/css">
                <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Oswald:400,700" type="text/css">
                <link rel="shortcut icon" href="favicon.ico">
        </head>
        <body>

                <div class="header">

                        <div class="wrapper">

                                <h1 class="branding-title"><a href="./">Shirts 4 Mike</a></h1>

                                <ul class="nav">
                                        <li class="shirts <?php if ($section == "shirts"){ echo "on"; } ?>"><a href="shirts.php">Shirts</a></li>
                                        <li class="contact <?php if ($section == "contact"){ echo "on"; } ?>"><a href="contact.php">Contact</a></li>
                                        <li class="cart"><a href="#">Shopping Cart</a></li>
                                </ul>

                        </div>

                </div>

                <div id="content">

当您在这样的PHP错误消息中看到
尖叫
时,这是由于以下情况造成的:

  • 您已经安装了PHP的xDebug扩展
  • xDebug配置为防止错误抑制
  • 您的PHP代码正试图使用
    @
    符号或其他错误抑制机制来抑制错误消息,xDebug正在覆盖该错误消息
  • xDebug是一个PHP扩展,旨在帮助调试PHP程序。它通常不应安装在生产系统上,而应安装在开发系统上

    xDebug有一个名为“尖叫”的设置“其目的是防止错误被抑制。这也是为了在开发系统中使用。开发人员可能希望在正常情况下抑制错误,但在调试时,查看这些错误是有用的。因此,尖叫设置覆盖了PHP隐藏错误消息的所有常规方法。这对于调试很有用,但对于生产系统来说却是一件可怕的事情

    xDebug永远不应该安装在面向公众的生产服务器上,因此,如果这描述了您的系统,您应该将其删除,或者要求将其删除。这可能很简单,只需修改PHP.ini文件以删除对xDebug的引用(尽管这只会禁用扩展,而不是取消安装扩展)

    如果它已经安装,而您对此无能为力,那么您需要找到一个更好的web主机,它不会在生产系统上安装开发工具


    话虽如此,如果您收到的消息是,
    $section未定义
    ,那么它确实意味着代码中存在需要修复的错误

    当从
    index.php
    中包含该错误时,该错误出现在
    header.php

    您已经向我们展示了
    shirts.php
    contact.php
    ,它们都正确设置了
    $section
    。您没有向我们展示
    index.php
    ,但我猜它包括
    header.php
    ,方式与其他方法相同,但没有像其他方法一样设置
    $section

    因此,您可以通过编辑
    index.php
    来修复该错误,以便它以与其他页面相同的方式设置
    $section
    。即使它只是将其设置为空白字符串,也足以修复错误

    我希望这会有所帮助。

    您查看的文件不正确 堆栈跟踪表明包含两个文件以获取此特定错误(按相反顺序):

    • inc\header.php
    • index.php
    在问题中,
    index.php
    没有显示,但很可能您有:

    <?php
    $pageTitle = "something";
    include('inc/header.php');
    

    请在问题中包含代码。特别是因为你显然链接到了一个私人粘贴…欢迎来到StackOverflow。请提供一个尽可能小的示例,同时仍演示您的问题。此外,它通常有助于包含准确的错误消息。。。请在问题中包含代码。什么变量未定义?在什么档案里?另外,我们无法查看您的
    shirts.php
    ,它是私有的。请将代码放在问题中,而不是放在pastebin上。只需猜测:!@!=@!尽管您通常不应该使用@来抑制错误。。。。更好的做法是修复错误xdebug也实现了这一点,但我认为xdebug没有那个错误头。我怀疑任何网络主机使用wamp(阅读错误消息中的路径):)非常感谢。我现在明白了。我在索引中添加了$section,解决了这个问题。正如你可以告诉我的,我在这方面很新,我解决了这个问题,但会关注xdbug和你的其他观点。再次感谢+1我实际上没有意识到尖叫也是它自己单独的延伸;我只把它看作xDebug的一部分。