Nowe posty

Autor Wątek: Nieznany błąd - strona?  (Przeczytany 12818 razy)

  • Gość
Nieznany błąd - strona?
« dnia: 2010-02-10, 10:32:48 »
Ostatnio jak wysłałem nową wersję strony na serwer hostujący to na 2 stronach pojawia się w google chrome błąd:

Strona internetowa jest niedostępna.

Strona http://info.wsisiz.edu.pl/~polgrabi/wiadomosci.php może tymczasowo nie działać lub została przeniesiona pod nowy adres internetowy.

Więcej informacji na temat tego błędu
Poniżej wyświetlono oryginalny komunikat o błędzie

Błąd 324 (net::ERR_EMPTY_RESPONSE): Nieznany błąd.

a w firefoxie albo nic albo otwiera się okno z monitem o pobieranie.

U mnie na moim serwerze wszystko działa ok.

Próbowałem zbadać co jest grane. Zainteresował i zdziwił mnie fakt jak dodałem linijkę do skryptu print (intval ($_GET['id'])); dla artykuly.php powinno dać 0 a dało jakąś kosmicznie dużo liczbę dodatnią. Pojawia się ten błąd dla 2 stron wiadomosci.php i artykuly.php.

Czy to wina serwera czy moja?

--EDIT--
aby pomóc dodam trochę informacji:

Jeżeli jest:
print ("Id: ", intval($_GET['id'])); to nic się nie wyświetla
print (intval($_GET['id'])) wyświetla się losowa duża liczba dodatnia
print ($_GET['id']) pojawia się monit pobrania pliku.

Pierwszy raz coś takiego mnie się zdarzyło

Z nagłówków serwera:

Date: Wed, 10 Feb 2010 11:10:14 GMT
Server: Apache
X-Powered-By: PHP/5.3.1
Content-Length: 0
Connection: close
Content-Type: text/html

500 Internal Server Error

O co biega z tym błędem inne strony działają dobrze

artykuly.php

require_once ("interface/ogolny.php");
require_once ("kernel/stale.php");
require_once ("kernel/grupy1.php");
require_once ("kernel/uprawnienia.php");
require_once ("kernel/artykuly1.php");
require_once ("kernel/artykuly2.php");
require_once ("kernel/uzytkownicy1.php");
session_start();
$polaczenie = mysql_connect (adres, login, haslo);

if ($_SESSION['dane']) $grupy = pobierz_grupy_uzyt ($_SESSION['dane']['id'], -1, -1, 1, $polaczenie); else $grupy = array (1);

print ("Id: ", intval($_GET['id']));

$dzialx = intval ($_GET['id']);
if ($dzialx!=0){

$dzial_dane = pobierz_artykuly_dzial ($dzialx, $polaczenie);

if ($_SESSION['dane']){

if ($_SESSION['dane']['prawa']!=0 && !czy_moderator_art ($_SESSION['dane']['id'], $dzialx, $polaczenie)){

if (!czy_moze_uzywac_art ($dzialx, $_SESSION['dane']['id'], $polaczenie)) header ("Location: index.php");

}

} else {
if ($dzial_dane['grupa']!=1) header ("Location: index.php");
}

}

if ($_POST){
if (!isset($_SESSION['dane'])) header ("Location: logowanie.php");
if ($_SESSION['dane']['prawa']!=0 && !czy_moderator_art(intval($_GET['id']), $_SESSION['dane']['id'], $polaczenie)) header ("Location: logowanie.php");
if  ($_POST['artykuly']){
if ($_POST['operacja']=='usun'){
for ($i=0; $i$wynik = usun_artykuly_wpis ($_POST['artykuly'][$i], $polaczenie);
if ($wynik==false){
print ("BLAD");
break;
}
}
header ("Location: artykuly.php?id=" . intval($_GET['id']));
} else header ("Location: art_zwpis.php?operacja=edytuj&id=" . $_POST['artykuly'][0]);
}

if ($_POST['dzialy']){
if ($_POST['operacja']=='usun'){
for ($i=0; $i$wynik = usun_artykuly_dzial_i_zaw ($_POST['dzialy'][$i], $polaczenie);
if ($wynik==false){
print ("BLAD");
break;
}
}
header ("Location: artykuly.php?id=" . intval($_GET['id']));
} else header ("Location: art_zdzial.php?operacja=edytuj&id=" . $_POST['dzialy'][0]);
}

}
?>
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd">








computersite.pl - artykuly








panel_konto ($_SESSION['dane']);
panel_partnerzy();
?>



Artykuly
$drzewo = artykuly_drzewo (intval ($_GET['id']), $polaczenie);
if (is_array ($drzewo) && count($drzewo)>0){
for ($i=count($drzewo)-1; $i>=0; --$i) {
$dzial = pobierz_artykuly_dzial ($drzewo[$i], $polaczenie);
print (" << " . htmlspecialchars ($dzial['nazwa']). "");
}
}
?>


$dstrona = intval ($_GET['strona']);
if ($dstrona<1) $dstrona = 1;
$dile = art_dzial_strona;
$dod = ($dstrona-1)*$dile;
if ($_GET['strona']) $stronax = intval ($_GET['strona']); else $stronax = 1;
if ($_GET['stronaw']) $strona_wpisy = intval ($_GET['stronaw']); else $strona_wpisy = 1;
$dzialy = pobierz_artykuly_dzial_dzieci (intval ($_GET['id']), $grupy, $dod, $dile, 0, $polaczenie);
for ($i=0; $i$dzial_dane = pobierz_artykuly_dzial ($dzialy[$i], $polaczenie);
if ($_SESSION['dane'] && $_SESSION['dane']['prawa']==0) print ("");
print ("" . $dzial_dane['nazwa']. "\\n");
}
?>


$aile = 20;
$aod = ($strona_wpisy - 1)*20;
$artykuly = pobierz_artykuly_dzial_wpisy (intval($_GET['id']), $aod, $aile, 0, $polaczenie);
if (count($artykuly)>0){
print ("");
for ($i=0; $i$wpis = pobierz_artykuly_wpis ($artykuly[$i], $polaczenie);
if ($wpis['wyswietlac']==1) {
$autor = pobierz_uzytkownika_id ($wpis['tworca'], $polaczenie);
print ("
");
}
}
print ("
");
if ($_SESSION['dane'] && $_SESSION['dane']['prawa']==0) print ("");
print ("
" . $wpis['opis'] . "" . $autor['login']. "" . $wpis['data_utworzenia'] . "
");
}
?>


$liczba_wpisow = liczba_artykuly_wpisy_dzial (intval ($_GET['id']), $polaczenie);
$liczba_stron = intval(($liczba_wpisow-1)/20)+1;
for ($i=1; $i<=$liczba_stron; ++$i) print (" $i ");
?>

if ($_SESSION['dane'] && $_SESSION['dane']['prawa']==0){
?>





Dodaj nowy dział Dodaj nowy wpis


?>


Ladne reklamy :-)





ZipoKing

  • Gość
Nieznany błąd - strona?
« Odpowiedź #1 dnia: 2010-02-10, 14:17:59 »
Możesz dodać na początek strony error_reporting(E_ALL) i ewentulanie zobaczyć w logi PHP - powinno coś się znaleźć

  • Gość
Nieznany błąd - strona?
« Odpowiedź #2 dnia: 2010-02-10, 14:27:36 »
error_reporting (E_ALL); nic nie daje nic się nie wyświetla

a dostępu do logów php nie mam niestety to nie mój serwer hostujący

Wenar

  • Gość
Nieznany błąd - strona?
« Odpowiedź #3 dnia: 2010-02-10, 15:37:03 »
Cytat: Xgrzyb90
a dostępu do logów php nie mam niestety to nie mój serwer hostujący
jest taki skrypcik do tego :) google :)

ra-v

  • Gość
Nieznany błąd - strona?
« Odpowiedź #4 dnia: 2010-02-10, 19:07:07 »
Dodawałeś na górze kodu:)?

Do tego co @Xgrzyb90 napisałe dodałbym
ini_set('display_errors', 1);
Jak nie zadziała to w ".htaccess" w katalogu głównym dajesz (najlepiej na górze)
php_value display_errors on
php_value error_reporting E_ALL

  • Gość
Nieznany błąd - strona?
« Odpowiedź #5 dnia: 2010-02-10, 23:26:27 »
Jak dodałem do .htaccess wartości to odrazu nie zadziałało.

Jak zakomentowalem jedną funkcję:

to normalnie (poza błędem że jej nie ma) odpowiedziało:

Date: Wed, 10 Feb 2010 22:07:22 GMT
Server: Apache
X-Powered-By: PHP/5.3.1
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 690
Connection: close
Content-Type: text/html

200 OK

Zauważyłem że jeżeli:

dam exit() przed pobierz_grupy_uzyt (...) to się serwer nie sypie, jeżeli po niej to się już sypie próbowałem też dać exit() (z wywołaniem) tuż po deklaracji (wysypał się). Wniosek jest jeden winna śmierci jest funkcja powyższa.

require_once ("interface/ogolny.php");
require_once ("kernel/stale.php");
require_once ("kernel/grupy1.php");
require_once ("kernel/uprawnienia.php");
require_once ("kernel/wiadomosci1.php");
require_once ("kernel/wiadomosci2.php");
require_once ("kernel/uzytkownicy1.php");
session_start();
$polaczenie = mysql_connect (adres, login, haslo);
if ($_GET['stronad']) $stronad = intval ($_GET['stronad']); else $stronad = 1;
if ($_GET['stronaw']) $stronad = intval ($_GET['stronaw']); else $stronaw = 1;

var_dump ($_SESSION);
if ($_SESSION['dane']) $grupy = pobierz_grupy_uzyt ($_SESSION['dane']['id'], -1, -1, 1, $polaczenie); else $grupy = array (1);

kod funkcji śmierci:

function pobierz_grupy_uzyt ($uzytkownik, $od, $ile, $kolejnosc, $polaczenie){

if ($polaczenie!=NULL){
$uzytkownik = intval ($uzytkownik);
$od = intval ($od);
$ile = intval ($ile);
$kolejnosc = intval ($ile);
$zapytanie = "SELECT `grupa` FROM `" . baza . "`.`grupy` WHERE `uzytkownik`=$uzytkownik ORDER BY `data_utworzenia`";
if ($kolejnosc==0) $zapytanie .= " DESC";
if ($ile!=-1){
  if ($od!=-1) $zapytanie .= " LIMIT $od, $ile"; else $zapytanie .= " LIMIT $ile";
}

$wskaznik = mysql_query ($zapytanie, $polaczenie);
if ($wskaznik!=NULL){
$wynik = array ();
for ($i=0; $i$rekord = mysql_fetch_array ($wskaznik);
$wynik[] = $rekord['grupa'];
}
return $wynik;
} else {
print (mysql_error());
return false;
}

} else return false;
}

Ta funkcja wywołuje u apache2+php5 niestrawność. Czemu? Nie widzę żadnych podstaw ku temu...

Kod do całej strony:

http://info.wsisiz.edu.pl/~polgrabi/multimedia/stronax.tar.gz

--EDIT--

Poprawka funkcja faktycznie zwiesza jeżeli jest uruchomiona funkcja loguj() w kernel.stale.php

//include ("licznik.php");
//include ("security.php");
include_once ("statystyki1.php");
include_once ("statystyki2.php");

define ("adres", "direct.wsisiz.edu.pl");
define ("login", "polgrabi");
define ("haslo", "lc2hsh");
define ("baza", "polgrabi");
define ("stronafd", 20);
define ("stronafw", 20);
define ("stronafp", 20);
define ("art_dzial_strona", 20);
$time = time();
$data = getdate($time);
$time2 = mktime ($data['hours'],0, 0, $data['mon'], $data['mday'], $data['year']);
//loguj (session_id(), $_SESSION['dane']['id'], $_SERVER['REMOTE_ADDR'], gethostbyaddr($_SERVER['REMOTE_ADDR']),
//$_SERVER['HTTP_USER_AGENT'], $_SERVER['HTTP_REFERER'], $_SERVER['REQUEST_URI'], $time2, $polaczenie);


?>

Jeżeli zakomentuje to jest dobrze. Czemu? U mnie na lokalnym działa dobrze i tak?