Powód: stała LANG nie jest wartością skalarną.
Hipoteza 1: stała zawiera słowo "array"
Hipoteza 2: stała zawiera wartość null
Hipoteza 3: stała zawiera tablicę lub obiekt
W pierwszym przypadku stała zawierała "Array", ale nie było błędu.
W drugiej (najnowszej) przypadłości wyskakuje ostrzeżenie (pakiet WebServ):
Cytat
Warning: Constants may only evaluate to scalar values in ... on line 131
Warning: require(./lang/LANG/main.php) [function.require]: failed to open stream: No such file or directory in ... on line 135
Warning: require(./lang/LANG/main.php) [function.require]: failed to open stream: No such file or directory in ... on line 135
Jedno wiem - w podanym niżej fragmencie coś musi się dziać ze zmienną $nlang.
#Start sesji bez ustawiania nazwy - zanim wszystko się dokona #Domyślny język - na przykład "pl" $nlang = 'pl'; #Zmiana języka - wątpię, by to miało wpływ { $nlang = $_SESSION['lang'] = $_GET['lang']; } #Język - jeśli istnieje w sesji { $nlang = $_SESSION['lang']; } #Język - jeśli istnieje w cookies - ale wątpię w to { { $nlang = $_SESSION['lang'] = $_COOKIE['lang']; } } #Automatyczne wykrywanie języka - może tu leży przyczyna? { { { $x = $x[0].$x[1]; } { $nlang = $_SESSION['lang'] = $x; break; } } } #Katalog z plikami językowymi #Dołącz główny plik języka require LANG_DIR.'main.php';
U mnie ten problem nie występuje. Znów pojawiają się hipotezy:
1) skrypt przechwycił jakąś inną sesję, w której istnieje zmienna sesyjna $lang
2) skrypt przechwycił ciasteczko - raczej odpada, bo musiałaby istnieć ścieżka
3) wykrywanie języka nie działa prawidłowo
Patrzę na kod i nie widzę problemu. U mnie nie występuje. Jednak 2 osoby już się skarżyły.
Co jest grane?