Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]php.ini
Forum PHP.pl > Forum > Przedszkole
fallingone
Móglby kto wrzucic tutaj swoja konfiguracje php.ini, bo jak sobie zmieniłem PHP z 4.4 na 5.2 to nagle wywala mi błąd za błędem. Nie chce się łączyć z bazą danych, a jak juz sie połaczy to wywala błąd "Notice: Use of undefined constant root - assumed 'root' in C:\serwer\apache\htdocs\strona\polacz.php on line 3"
Landon
poczytaj manuala (co ty tam chcesz zmienić) i poczytaj gdzie są bugi:)
Wodzu
To o czym piszesz wygląda na syndrom nie używanych cudzysłowów, które PHP interpretuje jako stałe. Jeśli dobrze myślę, to czeka Cię sporo pracy...
Crozin
Tu nie ma nic do rzeczy php.ini (chyba, że wyłączysz w nim raportowania błędów typu E_NOTICE - co nie jest najlepszym rozwiązaniem). Komunikat "mówi", że użyłeś niezdefiniowanej stałej "user" - domyślam się, że masz coś takiego:
  1. <?php
  2. mysql_connect(root, pass);
  3. ?>
A powinno być
  1. <?php
  2. mysql_connect('root', 'pass');
  3. ?>


Przeczytaj:
http://pl2.php.net/manual/pl/language.types.php
http://pl2.php.net/manual/pl/language.constants.php
fallingone
Ja jedynie chciałbym dodać, że jeszcze na PHP 4.4 ŻADNYCH błędów nie było. Więc to musi być kwestia zmian z 4 -> 5.
mike
Były. To że ich nie widziałeś to nie znaczy że nie było tongue.gif
Miałeś po rostu wyłączone ich wyświetlanie, co zresztą napisano Ci w postach wyżej.

Zmianą jest to, że domyślne ustawienia nie tłumiły już wyświetlania tych błędów.
fallingone
No to jakim cudem mi się łączyło z MySQL'em?? Skoro wszysktie wyniki zapytań do MySQL'a wyświetlało.
maziak
Cytat(fallingone @ 17.06.2008, 01:14:37 ) *
Nie chce się łączyć z bazą danych, a jak juz sie połaczy...


Hm, to łączy się czy nie?

A ten "błąd" to nie bląd tylko ostrzezenie, ze uzywasz niezdefiniowanej stałej. Na pewno klepłeś gdzies root, bez cudzysłowiow, albo nazwe zmiennej bez " $ ".
Sprawdź dokladniej tą 3cia linijke, albo lepiej - pokaż kod nam. Na pewno coś poradzimy.
mike
Bo nie były to błędy krytyczne i aplikacja szła dalej. Pomimo tego, że w tle generowała usterki.
To działa tak, że jeśli napiszesz:
  1. <?php
  2.  
  3. $tablica[klucz];
  4.  
  5. ?>
to PHP szuka zdefiniowanej stałej klucz i jej wartości próbuje użyć jako klucza w tablicy.
Stałej takiej nie ma więc PHP generuje ostrzeżenie (NOTICE) o tym fakcie i automatycznie tworzy taką stałą nadając jej wartość klucz. Czyli stała się pojawia i tablica działa dobrze. Co nie zmiana faktu, że takie rzeczy potrafią zwolnić skrypt do 30%.

Dlatego zawsze nazwy kluczy piszemy w apostrofach:
  1. <?php
  2.  
  3. $tablica['klucz'];
  4.  
  5. ?>
fallingone
Po wstawieniu cudzysłowów juz wszystko jest OK. Widze, ze 5 jest bardziej wymagająca.
mike
To skoro wątek o niuansach to jeszcze się przyczepię.
W tej sytuacji skorzystaj z apostrofów ' a nie cudzysłowów "
fallingone
To było przejęzyczenie, miałem na myśli apostrofy.
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.