e' && empty($conf['auto_create'])) { return FALSE; } if ($action == 'update' && empty($conf['auto_update'])) { return FALSE; } if ($action == 'delete' && empty($conf['auto_delete'])) { return FALSE; } empty($thread) && $action != 'delete' AND $thread = xn_seo_pushmap_read_thread($tid); if (!empty($thread) && !xn_seo_pushmap_thread_is_public($thread)) { return FALSE; } $summary = xn_seo_pushmap_submit_urls(array(xn_seo_pushmap_thread_url($tid, $conf)), $action, 'auto'); if (!empty($conf['sitemap_enable']) && !empty($conf['sitemap_auto'])) { $sitemap = xn_seo_pushmap_generate_sitemap($conf, 'auto'); if (!$sitemap['ok']) { xn_seo_pushmap_add_log('Sitemap', $action, 0, $sitemap['message'], array('tid' => $tid)); } } return $summary; } function xn_seo_pushmap_submit_urls($urls, $action = 'update', $scene = 'manual') { $conf = xn_seo_pushmap_get_conf(); $urls = array_values(array_unique(array_filter($urls))); if (empty($urls)) { return array('ok' => FALSE, 'message' => '没有可推送的 URL', 'results' => array()); } $results = array(); if (!empty($conf['baidu_enable']) && $action != 'delete') { $results[] = xn_seo_pushmap_submit_baidu($urls, $conf, $action, $scene); } if (!empty($conf['indexnow_enable'])) { $results[] = xn_seo_pushmap_submit_indexnow($urls, $conf, $action, $scene); } if (!empty($conf['google_enable'])) { $results[] = xn_seo_pushmap_submit_google($urls, $conf, $action, $scene); } if (empty($results)) { $message = '未启用任何推送引擎'; xn_seo_pushmap_add_log('System', $action, 0, $message, array('scene' => $scene, 'count' => count($urls))); return array('ok' => FALSE, 'message' => $message, 'results' => array()); } $ok = TRUE; $parts = array(); foreach ($results as $row) { $parts[] = $row['engine'] . ':' . $row['message']; if (empty($row['ok'])) { $ok = FALSE; } } $message = implode(';', $parts); xn_seo_pushmap_set_state_value('last_push_at', time()); xn_seo_pushmap_set_state_value('last_push_summary', $message); return array('ok' => $ok, 'message' => $message, 'results' => $results); } function xn_seo_pushmap_validate_baidu_api($api) { $api = trim($api); if ($api === '') { return array('ok' => FALSE, 'message' => '已开启百度推送,但百度推送接口为空'); } $parsed = parse_url($api); if (empty($parsed['scheme']) || empty($parsed['host'])) { return array('ok' => FALSE, 'message' => '百度推送接口格式不正确,请填写完整 URL'); } $query = array(); if (!empty($parsed['query'])) { parse_str($parsed['query'], $query); } if (empty($query['site']) || empty($query['token'])) { return array('ok' => FALSE, 'message' => '百度推送接口必须包含 site 和 token 参数'); } return array('ok' => TRUE, 'message' => ''); } function xn_seo_pushmap_submit_baidu($urls, $conf, $action, $scene) { $api = trim($conf['baidu_api']); $check = xn_seo_pushmap_validate_baidu_api($api); if (empty($check['ok'])) { $message = $check['message']; xn_seo_pushmap_add_log('百度', $action, 0, $message, array('scene' => $scene)); return array('engine' => '百度', 'ok' => FALSE, 'message' => $message); } $response = xn_seo_pushmap_http_request( $api, 'POST', implode("\n", $urls), array('Content-Type: text/plain; charset=utf-8'), intval($conf['timeout']) ); $data = xn_seo_pushmap_json_decode($response['body']); if (is_array($data) && isset($data['success'])) { $message = '成功提交 ' . intval($data['success']) . ' 条'; isset($data['remain']) AND $message .= ',剩余额度 ' . intval($data['remain']); $ok = TRUE; } elseif ($response['ok']) { $message = '接口返回成功,已提交 ' . count($urls) . ' 条'; $ok = TRUE; } else { $detail = is_array($data) && isset($data['message']) ? $data['message'] : $response['error']; $message = '推送失败'; $detail AND $message .= ':' . $detail; $ok = FALSE; } xn_seo_pushmap_add_log('百度', $action, $ok, $message, array('scene' => $scene, 'count' => count($urls))); return array('engine' => '百度', 'ok' => $ok, 'message' => $message); } function xn_seo_pushmap_submit_indexnow($urls, $conf, $action, $scene) { $old_conf = $conf; $prepared = xn_seo_pushmap_ensure_indexnow_key_file($conf, FALSE, $old_conf); if (empty($prepared['ok'])) { xn_seo_pushmap_add_log('IndexNow', $action, 0, $prepared['message'], array('scene' => $scene)); return array('engine' => '必应/IndexNow', 'ok' => FALSE, 'message' => $prepared['message']); } if ($conf != $old_conf) { xn_seo_pushmap_set_conf($conf); } $payload = array( 'host' => $conf['indexnow_host'], 'key' => $conf['indexnow_key'], 'keyLocation' => $conf['indexnow_key_location'], 'urlList' => array_values($urls), ); $response = xn_seo_pushmap_http_request( $conf['indexnow_endpoint'], 'POST', xn_seo_pushmap_json_encode($payload), array('Content-Type: application/json; charset=utf-8'), intval($conf['timeout']) ); $data = xn_seo_pushmap_json_decode($response['body']); if ($response['ok'] && in_array(intval($response['status']), array(200, 202))) { $message = '已通知 ' . count($urls) . ' 条 URL'; $ok = TRUE; } else { $detail = is_array($data) && isset($data['message']) ? $data['message'] : $response['error']; $message = '通知失败'; $detail AND $message .= ':' . $detail; $ok = FALSE; } xn_seo_pushmap_add_log('IndexNow', $action, $ok, $message, array('scene' => $scene, 'count' => count($urls))); return array('engine' => '必应/IndexNow', 'ok' => $ok, 'message' => $message); } function xn_seo_pushmap_submit_google($urls, $conf, $action, $scene) { $mode = trim($conf['google_mode']); if ($mode !== 'indexing_api') { $message = '当前仅实现 Indexing API 模式'; xn_seo_pushmap_add_log('Google', $action, 0, $message, array('scene' => $scene)); return array('engine' => 'Google', 'ok' => FALSE, 'message' => $message); } $token = xn_seo_pushmap_google_access_token($conf); if (empty($token['ok'])) { xn_seo_pushmap_add_log('Google', $action, 0, $token['message'], array('scene' => $scene)); return array('engine' => 'Google', 'ok' => FALSE, 'message' => $token['message']); } $success = 0; $fail = 0; $last_error = ''; foreach ($urls as $url) { $payload = array( 'url' => $url, 'type' => $action == 'delete' ? 'URL_DELETED' : 'URL_UPDATED', ); $response = xn_seo_pushmap_http_request( 'https://indexing.googleapis.com/v3/urlNotifications:publish', 'POST', xn_seo_pushmap_json_encode($payload), array( 'Content-Type: application/json; charset=utf-8', 'Authorization: Bearer ' . $token['access_token'], ), intval($conf['timeout']) ); $data = xn_seo_pushmap_json_decode($response['body']); if ($response['ok'] && intval($response['status']) < 300 && (!is_array($data) || !isset($data['error']))) { $success++; } else { $fail++; $last_error = is_array($data) && isset($data['error']['message']) ? $data['error']['message'] : $response['error']; } } $ok = $fail === 0; $message = '成功 ' . $success . ' 条'; if ($fail > 0) { $message .= ',失败 ' . $fail . ' 条'; $last_error AND $message .= ':' . $last_error; } xn_seo_pushmap_add_log('Google', $action, $ok, $message, array('scene' => $scene, 'count' => count($urls))); return array('engine' => 'Google', 'ok' => $ok, 'message' => $message); } function xn_seo_pushmap_google_access_token($conf) { $json = trim($conf['google_service_account_json']); if ($json === '') { return array('ok' => FALSE, 'message' => 'Google 服务账号 JSON 为空'); } if (!function_exists('openssl_sign')) { return array('ok' => FALSE, 'message' => '服务器未开启 openssl_sign,无法生成 Google JWT'); } $service = xn_seo_pushmap_json_decode($json); if (empty($service['client_email']) || empty($service['private_key'])) { return array('ok' => FALSE, 'message' => 'Google 服务账号 JSON 格式不正确'); } $token_uri = !empty($service['token_uri']) ? $service['token_uri'] : 'https://oauth2.googleapis.com/token'; $header = xn_seo_pushmap_base64url(xn_seo_pushmap_json_encode(array('alg' => 'RS256', 'typ' => 'JWT'))); $claim = xn_seo_pushmap_base64url(xn_seo_pushmap_json_encode(array( 'iss' => $service['client_email'], 'scope' => 'https://www.googleapis.com/auth/indexing', 'aud' => $token_uri, 'exp' => time() + 3600, 'iat' => time(), ))); $signing_input = $header . '.' . $claim; $signature = ''; $ok = openssl_sign($signing_input, $signature, $service['private_key'], 'SHA256'); if (!$ok) { return array('ok' => FALSE, 'message' => 'Google JWT 签名失败'); } $body = http_build_query(array( 'grant_type' => 'urn:ietf:params:oauth:grant-type:jwt-bearer', 'assertion' => $signing_input . '.' . xn_seo_pushmap_base64url($signature), )); $response = xn_seo_pushmap_http_request( $token_uri, 'POST', $body, array('Content-Type: application/x-www-form-urlencoded'), intval($conf['timeout']) ); $data = xn_seo_pushmap_json_decode($response['body']); if (!$response['ok'] || empty($data['access_token'])) { $message = is_array($data) && isset($data['error_description']) ? $data['error_description'] : '获取 Google Access Token 失败'; return array('ok' => FALSE, 'message' => $message); } return array('ok' => TRUE, 'access_token' => $data['access_token']); } function xn_seo_pushmap_base64url($data) { return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); } function xn_seo_pushmap_json_decode($json) { if ($json === '' || $json === FALSE || $json === NULL) { return array(); } $data = json_decode($json, TRUE); return is_array($data) ? $data : array(); } function xn_seo_pushmap_json_encode($data) { return json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } function xn_seo_pushmap_http_request($url, $method = 'GET', $body = '', $headers = array(), $timeout = 10) { $method = strtoupper($method); if (function_exists('curl_init')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); if ($method != 'GET') { curl_setopt($ch, CURLOPT_POSTFIELDS, $body); } $response = curl_exec($ch); $error = curl_error($ch); $status = intval(curl_getinfo($ch, CURLINFO_HTTP_CODE)); curl_close($ch); return array( 'ok' => $response !== FALSE && $status >= 200 && $status < 300, 'status' => $status, 'body' => $response === FALSE ? '' : $response, 'error' => $error, ); } $headers[] = 'Content-Length: ' . strlen($body); $context = stream_context_create(array( 'http' => array( 'method' => $method, 'header' => implode("\r\n", $headers), 'content' => $body, 'timeout' => $timeout, 'ignore_errors' => TRUE, ), )); $response = @file_get_contents($url, FALSE, $context); $status = 0; if (!empty($http_response_header[0]) && preg_match('#\s(\d{3})\s#', $http_response_header[0], $match)) { $status = intval($match[1]); } return array( 'ok' => $response !== FALSE && $status >= 200 && $status < 300, 'status' => $status, 'body' => $response === FALSE ? '' : $response, 'error' => $response === FALSE ? 'HTTP request failed' : '', ); } function xn_seo_pushmap_ensure_indexnow_key_file(&$conf, $force = FALSE, $old_conf = array()) { $old_key = xn_seo_pushmap_av($old_conf, 'indexnow_key', ''); $key = preg_replace('#[^a-zA-Z0-9\-_]#', '', trim(xn_seo_pushmap_av($conf, 'indexnow_key', ''))); if ($force || $key === '') { $key = strtolower(substr(md5(uniqid(mt_rand(), TRUE)), 0, 32)); } if (strlen($key) < 8) { return array('ok' => FALSE, 'message' => 'IndexNow Key 不能少于 8 位'); } // 文件写入安全:验证文件名格式 if(!preg_match('/^[a-zA-Z0-9_-]+$/', $key)) { return array('ok' => FALSE, 'message' => 'IndexNow Key 包含非法字符'); } $conf['indexnow_key'] = $key; empty($conf['indexnow_host']) AND $conf['indexnow_host'] = xn_seo_pushmap_host_from_base_url($conf['base_url']); $conf['indexnow_key_location'] = $conf['base_url'] . $key . '.txt'; $file = APP_PATH . $key . '.txt'; // 文件写入安全:确保文件路径在网站根目录下 $real_file = realpath($file); $real_base = realpath(APP_PATH); if($real_file && strpos($real_file, $real_base) !== 0) { return array('ok' => FALSE, 'message' => '非法的文件路径'); } $written = xn_seo_pushmap_write_file($file, $key); if (!$written) { return array('ok' => FALSE, 'message' => 'IndexNow Key 文件写入失败,请检查网站根目录权限'); } if ($old_key && $old_key != $key) { $old_file = APP_PATH . $old_key . '.txt'; if (is_file($old_file) && trim(file_get_contents($old_file)) === trim($old_key)) { xn_unlink($old_file); } } return array('ok' => TRUE, 'message' => 'IndexNow Key 文件已同步:' . $conf['indexnow_key_location']); } function xn_seo_pushmap_write_file($file, $content) { if (function_exists('file_put_contents_try')) { return file_put_contents_try($file, $content) !== FALSE; } return file_put_contents($file, $content) !== FALSE; } function xn_seo_pushmap_generate_sitemap($conf = NULL, $scene = 'manual') { $conf === NULL AND $conf = xn_seo_pushmap_get_conf(); if (empty($conf['sitemap_enable'])) { return array('ok' => FALSE, 'message' => 'Sitemap 功能未启用'); } $items = array(); if (!empty($conf['sitemap_include_home'])) { $items[] = array('loc' => $conf['base_url'], 'lastmod' => time()); } $fids = xn_seo_pushmap_public_fids(); $forumlist = forum_list_cache(); if (!empty($conf['sitemap_include_forum'])) { foreach ($forumlist as $forum) { if (!in_array(intval($forum['fid']), $fids)) continue; $items[] = array( 'loc' => xn_seo_pushmap_forum_url($forum['fid'], $conf), 'lastmod' => xn_seo_pushmap_av($forum, 'last_date', time()), ); } } if (!empty($conf['sitemap_include_thread']) && !empty($fids)) { $page = 1; $pagesize = 1000; do { $threadlist = db_find('thread', array('fid' => $fids), array('tid' => 1), $page, $pagesize); if (empty($threadlist)) { break; } foreach ($threadlist as $thread) { $items[] = array( 'loc' => xn_seo_pushmap_thread_url($thread['tid'], $conf), 'lastmod' => xn_seo_pushmap_av($thread, 'last_date', xn_seo_pushmap_av($thread, 'create_date', time())), ); } $page++; } while (count($threadlist) == $pagesize); } $filename = xn_seo_pushmap_normalize_filename($conf['sitemap_filename']); foreach ((array) glob(APP_PATH . $filename . '-*.xml') as $chunk_file) { xn_unlink($chunk_file); } $maxsize = max(1, min(50000, intval($conf['sitemap_maxsize']))); $sitemap_url = $conf['base_url'] . $filename . '.xml'; if (count($items) > $maxsize) { $chunks = array_chunk($items, $maxsize); $index_items = array(); foreach ($chunks as $index => $chunk) { $chunk_name = $filename . '-' . ($index + 1); $chunk_url = $conf['base_url'] . $chunk_name . '.xml'; $ok = xn_seo_pushmap_write_file(APP_PATH . $chunk_name . '.xml', xn_seo_pushmap_render_sitemap_xml($chunk)); if (!$ok) { return array('ok' => FALSE, 'message' => '写入分片 Sitemap 失败:' . $chunk_name . '.xml'); } $index_items[] = array('loc' => $chunk_url, 'lastmod' => time()); } $ok = xn_seo_pushmap_write_file(APP_PATH . $filename . '.xml', xn_seo_pushmap_render_sitemap_index_xml($index_items)); if (!$ok) { return array('ok' => FALSE, 'message' => '写入 Sitemap 索引失败'); } } else { $ok = xn_seo_pushmap_write_file(APP_PATH . $filename . '.xml', xn_seo_pushmap_render_sitemap_xml($items)); if (!$ok) { return array('ok' => FALSE, 'message' => '写入 Sitemap 失败'); } } if (!empty($conf['sitemap_sync_robots'])) { xn_seo_pushmap_sync_robots($sitemap_url); } xn_seo_pushmap_set_state_value('last_sitemap_build', time()); xn_seo_pushmap_set_state_value('last_sitemap_url', $sitemap_url); xn_seo_pushmap_add_log('Sitemap', $scene, 1, '地图已生成:' . $sitemap_url, array('count' => count($items))); return array('ok' => TRUE, 'message' => 'Sitemap 生成成功:' . $sitemap_url); } function xn_seo_pushmap_render_sitemap_xml($items) { $xml = array(); $xml[] = ''; $xml[] = ''; foreach ($items as $item) { $xml[] = ' '; $xml[] = ' ' . xn_seo_pushmap_escape($item['loc']) . ''; if (!empty($item['lastmod'])) { $xml[] = ' ' . date('Y-m-d\TH:i:sP', intval($item['lastmod'])) . ''; } $xml[] = ' '; } $xml[] = ''; return implode("\n", $xml); } function xn_seo_pushmap_render_sitemap_index_xml($items) { $xml = array(); $xml[] = ''; $xml[] = ''; foreach ($items as $item) { $xml[] = ' '; $xml[] = ' ' . xn_seo_pushmap_escape($item['loc']) . ''; if (!empty($item['lastmod'])) { $xml[] = ' ' . date('Y-m-d\TH:i:sP', intval($item['lastmod'])) . ''; } $xml[] = ' '; } $xml[] = ''; return implode("\n", $xml); } function xn_seo_pushmap_sync_robots($sitemap_url) { $file = APP_PATH . 'robots.txt'; $line = 'Sitemap: ' . $sitemap_url; $content = is_file($file) ? file_get_contents($file) : ''; if (strpos($content, $line) !== FALSE) { return TRUE; } $content = rtrim($content) . "\n" . $line . "\n"; return xn_seo_pushmap_write_file($file, $content); } function xn_seo_pushmap_push_latest_threads($limit = 20) { $limit = max(1, min(500, intval($limit))); $fids = xn_seo_pushmap_public_fids(); if (empty($fids)) { return array('ok' => FALSE, 'message' => '没有可公开推送的版块'); } $threadlist = db_find('thread', array('fid' => $fids), array('tid' => -1), 1, $limit); if (empty($threadlist)) { return array('ok' => FALSE, 'message' => '没有可推送的主题'); } $urls = array(); foreach ($threadlist as $thread) { $urls[] = xn_seo_pushmap_thread_url($thread['tid']); } return xn_seo_pushmap_submit_urls($urls, 'update', 'manual_latest'); } function xn_seo_pushmap_push_custom_urls($text) { $conf = xn_seo_pushmap_get_conf(); $origin = xn_seo_pushmap_origin_from_base_url($conf['base_url']); $urls = array(); foreach (preg_split('#\r\n|\r|\n#', trim($text)) as $line) { $line = trim($line); if ($line === '') continue; if (preg_match('#^https?://#i', $line)) { $urls[] = $line; } elseif (substr($line, 0, 1) == '/') { $urls[] = $origin . $line; } else { $urls[] = xn_seo_pushmap_join_url($conf['base_url'], $line); } } return xn_seo_pushmap_submit_urls($urls, 'update', 'manual_custom'); } function xn_seo_pushmap_build_setting_input($conf) { return array( 'base_url' => form_text('base_url', xn_seo_pushmap_form_value($conf['base_url']), '100%'), 'timeout' => form_text('timeout', intval($conf['timeout'])), 'log_limit' => form_text('log_limit', intval($conf['log_limit'])), 'auto_create' => form_radio_yes_no('auto_create', intval($conf['auto_create'])), 'auto_update' => form_radio_yes_no('auto_update', intval($conf['auto_update'])), 'auto_delete' => form_radio_yes_no('auto_delete', intval($conf['auto_delete'])), 'baidu_enable' => form_radio_yes_no('baidu_enable', intval($conf['baidu_enable'])), 'baidu_api' => form_text('baidu_api', xn_seo_pushmap_form_value($conf['baidu_api']), '100%'), 'indexnow_enable' => form_radio_yes_no('indexnow_enable', intval($conf['indexnow_enable'])), 'indexnow_endpoint' => form_text('indexnow_endpoint', xn_seo_pushmap_form_value($conf['indexnow_endpoint']), '100%'), 'indexnow_host' => form_text('indexnow_host', xn_seo_pushmap_form_value($conf['indexnow_host']), '100%'), 'indexnow_key' => form_text('indexnow_key', xn_seo_pushmap_form_value($conf['indexnow_key']), '100%'), 'google_enable' => form_radio_yes_no('google_enable', intval($conf['google_enable'])), 'google_mode' => form_radio('google_mode', array('indexing_api' => 'Indexing API'), $conf['google_mode']), 'google_service_account_json' => form_textarea('google_service_account_json', xn_seo_pushmap_form_value($conf['google_service_account_json']), '100%', 240), 'sitemap_enable' => form_radio_yes_no('sitemap_enable', intval($conf['sitemap_enable'])), 'sitemap_auto' => form_radio_yes_no('sitemap_auto', intval($conf['sitemap_auto'])), 'sitemap_filename' => form_text('sitemap_filename', xn_seo_pushmap_form_value($conf['sitemap_filename']), '100%'), 'sitemap_maxsize' => form_text('sitemap_maxsize', intval($conf['sitemap_maxsize'])), 'sitemap_include_home' => form_radio_yes_no('sitemap_include_home', intval($conf['sitemap_include_home'])), 'sitemap_include_forum' => form_radio_yes_no('sitemap_include_forum', intval($conf['sitemap_include_forum'])), 'sitemap_include_thread' => form_radio_yes_no('sitemap_include_thread', intval($conf['sitemap_include_thread'])), 'sitemap_sync_robots' => form_radio_yes_no('sitemap_sync_robots', intval($conf['sitemap_sync_robots'])), ); } ?>
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 189
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 189, ini_set(session.name , bbs_sid)
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 191
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 191, ini_set(session.use_cookies , On)
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 192
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 192, ini_set(session.use_only_cookies , On)
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 193
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 193, ini_set(session.cookie_domain , )
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 194
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 194, ini_set(session.cookie_path , )
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 195
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 195, ini_set(session.cookie_secure , Off)
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 196
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 196, ini_set(session.cookie_lifetime , 8640000)
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 197
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 197, ini_set(session.cookie_httponly , On)
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 199
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 199, ini_set(session.gc_maxlifetime , 3600)
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 200
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 200, ini_set(session.gc_probability , 1)
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 201
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 201, ini_set(session.gc_divisor , 500)
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: session_set_save_handler(): Cannot change save handler when headers already sent, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 203
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 203, session_set_save_handler(sess_open , sess_close , sess_read , sess_write , sess_destroy , sess_gc)
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
Error[2]: session_start(): Cannot start session when headers already sent, File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 210
File: /www/wwwroot/xiuno/tmp/model_session.func.php, Line: 210, session_start()
File: /www/wwwroot/xiuno/tmp/index.inc.php, Line: 12, sess_start()
File: /www/wwwroot/xiuno/index.php, Line: 52, include(/www/wwwroot/xiuno/tmp/index.inc.php)
地点小店相关主题 - 2篇 - 性息网-全国性息-免费楼凤论坛
首页 发现 发布 消息 我的
地点小店
2 篇主题

关键词 聚合 URL:tag-%E5%9C%B0%E7%82%B9%E5%B0%8F%E5%BA%97-1.htm