Skocz do zawartości
Ramzes

HTTP 500 - PHP Warning: require_once

Polecane posty

Witam

 

Przeniosłem działający serwis z serwera wirtualnego na dedyka i niestety zamiast jednej z podstron serwisu pojawia się błąd HTTP 500 (pozostałe podstrony działają OK).

 

W logah apacha zapisuje się błąd:

 

[Fri Oct 15 14:02:13 2010] [error] [client ip-------] PHP Warning: require_once(../lib/news/News.class.php): failed to open stream: No such file or directory in /home/www/domena.eu/config/HARDCODE.php on line 139

 

[Fri Oct 15 14:02:13 2010] [error] [client ip-------] PHP Fatal error: require_once(): Failed opening required '../lib/news/News.class.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/www/domena.eu/config/HARDCODE.php on line 139

 

Tak jak wspominałem na początku, na serwerze wirtualnym serwis działa prawidłowo i nie pojawiają się żadne błędy dlatego myślę, że jest to jakiś błąd w konfiguracji serwera dedykowanego .....

Porównywałem konfigurację serwera wirtualnego i dedykowanego (php.ini) i zarówno ustawienia jak i sama wersja php są takie same ....

 

Proszę o pomoc gdzie szukać błędu w konfiguracji serwera ...

 

Pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dokładnie jest napisane w czym problem tj.

No such file or directory in /home/www/domena.eu/config/HARDCODE.php

czyli brakuje pliku.

 

Sprawdź czy masz ten plik w określonym katalogu i czy jest z dużych liter (bo może przy kopiowaniu na serwer zamieniło się na małe).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To by było za proste ... :-)

 

Wszystkie pliki są na swoich miejscach i nazwy są również prawidłowo napisane - dokladnie sprawdziłem

na samym początku ...

 

Dokładnie jest napisane w czym problem tj.

No such file or directory in /home/www/domena.eu/config/HARDCODE.php

czyli brakuje pliku.

 

Sprawdź czy masz ten plik w określonym katalogu i czy jest z dużych liter (bo może przy kopiowaniu na serwer zamieniło się na małe).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A plik

'../lib/news/News.class.php'

masz w odpowiednim miejscu bo ten plik próbuje być wczytany w linii 139 pliku HARDCODE.php

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tak - plik jest na swoim miejscu... i ma prawidłowe prawa dostępu ...

... ?

 

A plik

'../lib/news/News.class.php'

masz w odpowiednim miejscu bo ten plik próbuje być wczytany w linii 139 pliku HARDCODE.php

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jesteś pewny, że jest dobrze ze ścieżkami ?

Bo dołączony jest plik ze ścieżką względną z katalogiem wyżej i może jednak nie jest to w tym miejscu co powinno być. Spróbuj zmienić dla testów ścieżkę bezwzględna do pliku.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zmieniłem scieżke i dalej jest ten sam błąd...

Z tego pliku, korzystają również inne podstrony serwisu i wszystko jest OK..

 

Najgorsze jest to, że skrypt na dedyku jest kopią 1:1 serwisu działającego na serwerze wirtualnym....

więc nie szukam problemów w samym skrypcie serwisu ...

to musi być jakiś problem z konfiguracją serwera dedykowanego ....

Ustawienia PHP takie same jak na serwerze wirtualnym ....

A czy przypadkiem to nie będzie jakiś błąd w konfiguracji Apacha (czytanie małych i dużych liter) ...?

 

Jesteś pewny, że jest dobrze ze ścieżkami ?

Bo dołączony jest plik ze ścieżką względną z katalogiem wyżej i może jednak nie jest to w tym miejscu co powinno być. Spróbuj zmienić dla testów ścieżkę bezwzględna do pliku.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A to są w ogóle aktualne logi, bo data z logów to [Fri Oct 15 14:02:13 2010] ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Logi błedów na serwerze są zawsze takie same (dlatego nie wklejam aktualnych)

 

Próbowałem zmieniać zmienna include_path w php.ini (zgodnie z błędem2 w logach)

 

Probowałem z różnymi ustawieniami:

.:/usr/share/php:/usr/share/perl

 

.:/usr/share/php5:/usr/share/perl

 

.:/usr/share/php5:/usr/share/perl5

 

i niestety błąd był zawsze taki sam...

zmianie ulegała tylko druga cześć błędu w logach serwera:

 

[Fri Oct 25 14:02:13 2010] [error] [client ip-------] PHP Fatal error: require_once(): Failed opening required '../lib/news/News.class.php' (include_path='.:/usr/share/php5:/usr/share/pear') in /home/www/domena.eu/config/HARDCODE.php on line 139

 

czyli zmieniała się tylko ścieżka include_path='............'

 

Może serwer "nie odczytuje" prawidłowo include_path=' ....?

 

albo ja wpisuję złe dane .... no ale ilość kombinacji dla "Ubuntu 10.04 Serwer" jest przecież ograniczona ... :-)

 

A to są w ogóle aktualne logi, bo data z logów to [Fri Oct 15 14:02:13 2010] ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

a próbowałeś zrobić

require("/home/www/domena.eu/lib/news/News.class.php");

i wtedy tez taki sam błąd wyskakiwał, że nie ma pliku?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Niestety nie mogę bezpośrednio zmienić adresu ponieważ w pliku HARDCODE.php znajduje się taka funkcja:

 

function __autoload($class){

global $class_paths;

if(isset($class_paths[$class])) {require_once($class_paths[$class]); return;}

$project_prefix = Config::PROJECT_PREFIX;

$length = strlen($project_prefix);

if($project_prefix == substr($class,0,$length)){

require_once('../classes/'.$class.'.class.php');

}else {

require_once('../lib/'.$class.'.class.php');

}

}

 

Pogrubiłem linię, której dotyczy błąd ...

 

Tak jak wspominałem wcześniej skrypt serwisu jest na pewno OK ponieważ działa prawidłowo na serwerze wirtualnym...

 

Błąd, który pojawia się na dedyku musi być związany z konfiguracją serwera ....

Myślę, że firma hostingowa, u której mam serwer wirtualny nie stosuje jakiś "super konfiguracji" swoich serwerów ....

 

 

a próbowałeś zrobić

require("/home/www/domena.eu/lib/news/News.class.php");

i wtedy tez taki sam błąd wyskakiwał, że nie ma pliku?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×