php oturum ve yol ayarı

2 Cevap php

Eğer adres çubuğuna yazdığınız kodu ve sayfa (fayans) ve diğer kod (sınıflar, vb) parçalarını oluşturan olanlar içeren klasörleri: Ben ikiye benim kaynak klasörleri ayırmak istiyorum. Böylece her php dosyasının başında ben ekledi:

<?php
// index.php
include("config.php");
include("session.php");
?>

Yapılandırma sadece bu kadar içeriyor, ama bana genişletmek sağlar diğer dizinleri (günlükler, vb) gerekirse

<?php
// config.php
$_PATHS["base"]      = dirname(dirname(__FILE__)) . "\\";
$_PATHS["includes"]  = $_PATHS["base"] . "includes\\";
ini_set("include_path", "$_PATHS[includes]");
?>

Ve oturum, yapıcı, diğer şeyler arasında session_start için bir çağrı vardır. Oturumu dahil edilmeden önce listelenmiş olan yapılandırma gerektirir - O da başka bir yerde bulunan diğer sınıflar gerektirir. Ben hata alıyorum Ancak

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started ...

Ben o hataya içerir geçerseniz uzağa gider ama elle başlık dosyalarının bağlantıları munging başlamak gerekir. Oturumlarını kullanmak için güçlü olmak ya da session_start bir dosya içeren ilk şey olmalı ilk ve dizinleri ayarı yine de var mı?

2 Cevap

Ben zaten bu denedim bilmiyorum, ama test aracı olarak yerine orada config.php dahil kaldırmak ve yapılandırma kodu kopyalayıp yapıştırın.

Yani bu:

<?php
// index.php
include("config.php");
include("session.php");
?>

Bu olur:

<?php
// config
$_PATHS["base"]      = dirname(dirname(__FILE__)) . "\\";
$_PATHS["includes"]  = $_PATHS["base"] . "includes\\";
ini_set("include_path", "$_PATHS[includes]");
//index
include("session.php");
?>

Sonra çalışırsa Eğer config.php dosya * ile bir sorun var o hata hala ini_set hattına işaret yok değilse, [aşağıya bakınız]? [Burada mevcut hata noktaları var senin yukarıdaki yorumun varsayarak]

* Ben bir kez okuduğumu hatırlıyorum UTF-8 olarak bir dosya oturumları berbat olabilir [bir süre önce itiraf]. Bir bağlantı bulmak için çalışıyor

Tamam ben UTF-8 ve session_start ile ilgili bir hata raporu sundu birini buldum. Anlaşılan bu bir hata değildir - Ben içine neden bakmadı - ama ya yol oldukça aynı sorun değildir. UTF-8 kodlama türü sadece çerez hata alıyorsanız değil, oturum hatalara neden yok. See here if you are interested - UTF-8 Error

Bu hata kalanı sorunun nerede olduğunu söyleyecektir exact bit olduğunu! Şansını config.php sonunda bazı sondaki boşluk var vardır.

(Yani, ya session.php Ya session_start() için çağrı önce çıktı gönderir, ama gerçekten sadece şimdi tahmin ediyorum :)