首页 > 解决方案 > session.name 不能为数字或空

问题描述

我不断收到 PHP 错误提示 PHP 警告:无法修改标头信息 - 开始于 /home/www/url.php:2 标头已由 /home/www/master.php 在第 49 行发送

在顶部的 url.php 中,我包含一次 master.php。当我查看 master.php 中的第 49 行时,请在代码底部看到这两行。

<?php

    // Application flag
    define('SPF', true);
    
    // absolute document root
    define('DOC_ROOT', realpath(dirname(__FILE__) . '/../'));
    
    // Global include files
    require DOC_ROOT . '/includes/functions.php'; // __autoload() is contained in this file
    require DOC_ROOT . '/includes/class.db.php';
    require DOC_ROOT . '/includes/class.ts.php';
    require DOC_ROOT . '/includes/class.phpmailer.php';
    require DOC_ROOT . '/includes/phpqrcode.php';
    require DOC_ROOT . '/includes/recaptchalib.php';
    
    // Fix magic quotes
    if (get_magic_quotes_gpc())
    {
        $_POST    = fix_slashes($_POST);
        $_GET     = fix_slashes($_GET);
        $_REQUEST = fix_slashes($_REQUEST);
        $_COOKIE  = fix_slashes($_COOKIE);
    }
    
    // Load config settings
    $Config = Config::getConfig();
    
    /* load db config settings into constants */
    $db   = Database::getDatabase();
    $rows = $db->getRows("SELECT config_key, config_value FROM site_config ORDER BY config_group, config_key");
    if (COUNT($rows))
    {
        foreach ($rows AS $row)
        {
            $constantName = "SITE_CONFIG_" . strtoupper($row['config_key']);
            define($constantName, $row['config_value']);
        }
    }
    
    // store session info in the database?
    if ($Config->useDBSessions === true)
    {
        DBSession::register();
    }
    
    // Initialize our session
    session_name($Config->sessionName);
    session_start();

如果我将最后两行移到代码的顶部或任何其他代码的上方,则较早的错误就会消失,但我会看到以下新错误,但我找不到任何解决方案。

 PHP Warning:  session_name(): session.name cannot be a numeric or empty '' in /home/www/includes/master.php on line 2: /usr/local/cpanel/cgi-sys/ea-php56, 

即使我只移动session_start();也是一样的。到顶部。

有人知道如何解决这个问题吗?

标签: php

解决方案


1)。在“session_start”之前应该没有输出。

2)。“session_name”应该在“session_start”之前


推荐阅读