Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem ze skryptem po zmianie hostingu
Forum PHP.pl > Forum > Przedszkole
nihonjin
Witam!

Po zmianie hostingu z kei na firehost skrypt do pobirania plików z serwisu wrzuta przestał działać prawidłowo. Skrypt znajduje się pod adresem http://www.zwrzuty.pl Ciągle wyświetla się taki błąd:
CODE

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/nihonjin/domains/zwrzuty.pl/public_html/index.php:1) in /home/nihonjin/domains/zwrzuty.pl/public_html/index.php on line 4

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/nihonjin/domains/zwrzuty.pl/public_html/index.php:1) in /home/nihonjin/domains/zwrzuty.pl/public_html/index.php on line 4

Jak to naprawić?
cycofiasz
Nagłówek z cookie musi być na początku kodu.
.radex
ob_start();

na początku pliku.

PS. nie ten dział.
nihonjin
Początek kodu wygląda tak:

  1. <?php
  2. require('libs/Smarty.class.php');
  3. require('libs/mysql.php');
  4. $katalogi=explode('/',$_SERVER['REQUEST_URI']);
  5.  
  6. $szczegoly=0;
  7. ?>


zamieniłem kolejnością linijki tak żeby session start był na początku
  1. <?php
  2. require('libs/Smarty.class.php');
  3. require('libs/mysql.php');
  4. $katalogi=explode('/',$_SERVER['REQUEST_URI']);
  5.  
  6. $szczegoly=0;
  7. ?>

ale pokazuje się ten sam błąd
.radex
mówię o

ob_start();

a nie o session_start();

exclamation.gif
nihonjin
Nigdzie nie widzę ob_start(); w kodzie tego skryptu.
.radex
Przecież napisałem wyraźnie, że masz dać ob_start(); na początku pliku:

Cytat(radex_p @ 22.07.2008, 18:22:57 ) *
ob_start();

na początku pliku.
nitro18
Chłopie, kolega 3 razy Ci powiedział żebyś wstawił ob_start() na początku pliku:

  1. <?php
  2. require('libs/Smarty.class.php');
  3. require('libs/mysql.php');
  4. $katalogi=explode('/',$_SERVER['REQUEST_URI']);
  5.  
  6. $szczegoly=0;
  7. ?>
nihonjin
Po prostu nie zrozumiałem. Dodałem ob_start(); na początku tak jak napisaliście, ale błąd wyskakuje nadal.
l0ud
Nie w tym rzecz. Moja prośba: ściągnij plik index.php z serwera, spakuj i umieść archiwum na jakimś serwerze typu sendspace.com Umieść tutaj link, to zobaczę, czy to wina skryptu, czy może serwera smile.gif
nevt
nie ten dział, przenoszę do przedszkola
rafalp
Jakie ob_start() skoro jakoś wcześniej w kodzie tego nie potrzebował.
Weź zapisz sobie wszystkie pliki w UTF-8 bez BOM (http://pl.wikipedia.org/wiki/BOM) bo widocznie jakiś znacznik masz na początku pliku który ląduje za szybko w przeglądarce przed wysłaniem cookie.
możesz to zrobić np. edytorem "notepad++"
nihonjin
Stąd można pobrać plik index.php: http://www.speedyshare.com/340286690.html
.radex
a jednak BOM.

Poprawiona wersja: http://www.speedyshare.com/829411667.html
nihonjin
Nadpisałem ten plik i błąd nadal wyskakuje.
l0ud
Poprzednik pomylił pliki, albo host coś dopisał tongue.gif

Spróbuj z tą wersją: http://www.speedyshare.com/480942156.html
nihonjin
Nadal wyskakuje błąd.
Maxik
session_start daj na sam początek.
nowotny
Pewnie hosting ci coś dokleja... podaj adres strony umieszczonej na serwerze hosta...
l0ud
Bo problem dotyczy (na to wygląda) wszystkich plików. Ściągnij program Gżegżółka XP i przekonwertuj nim wszystkie pliki .php kodowanie Unicode UTF-8. Poprawione pliki wgraj na serwer smile.gif

http://www.gzegzolka.com/?m=hist
nihonjin
Wielkie dzięki l0ud. Po przekonwertowaniu skrypt nareszczie zaczął działać. Tylko co mogło się stać, przecież zgrałem pliki ze starego hosta na dysk a potem bez ich edytowania wrzuciłem na nowy serwer.
rafalp
Widocznie stary host był tak skonfigurowany że był wyczulony na takie pliki i automatycznie pomijał początkowe bajty plików w których były zapisanie dane dot kodowania.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.