![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 11.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ohayo!
Od jakiegoś czasu piszę programy w PHP. Skrypt, który przedstawiam poniżej działał prawidłowo w XAMPP-ie 1.73 (zapewne tam było PHP w wersji niższej niż 5.4). Gdy przeszedłem na XAMPP-a 1.82 (gdzie króluje PHP 5.4) przeglądarka wyrzuca mnóstwo błędów przy wczytywaniu pliku file02.php, których wcześniej nie było. Nie chodzi mi o to aby się pozbyć komunikatów lecz o to by skrypt działał prawidłowo. Plik cat01/config.php:
Plik cat01/function.php:
W pliku function.php docelowo mają się też znaleźć inne funkcje zależne od funkcji połącz. Funkcję tę stworzyłem po to by za każdym razem nei sprawdzać czy udało się połączenie z bazą danych i nie pisać komunikatów błędów na Ekranie. Plik file02.php
CODE Notice: Undefined variable: serwer in C:\xampp\htdocs\puppe\cat01\function.php on line 3 Notice: Undefined variable: user in C:\xampp\htdocs\puppe\cat01\function.php on line 4 Notice: Undefined variable: pass in C:\xampp\htdocs\puppe\cat01\function.php on line 5 Notice: Undefined variable: baza in C:\xampp\htdocs\puppe\cat01\function.php on line 6 Notice: Trying to get property of non-object in C:\xampp\htdocs\puppe\file02.php on line 9 Nie udaĹo siÄ.. . Tak wygląda wynik wykonania skryptu file02.php. Wcześniej było wszystko jak trzeba. W wersji 5.3 PHP miałem wyłączone register_globals i działało. Teraz jak gdyby serwer dostał grzyba i nie łączy się z bazą danych (dane do bazy są podane prawidłowo. w tabeli drzewo znajdują się przykładowe wartości). Nie wiem gdzie jest błąd. Poza tym zależy mi na tym aby wyrzucało błędy w przypadku niepowodzenia połączenia się z bazą danych, zwłaszcza że serwery MySQL są zawodne i czasami nie udaje się nawiązać z nimi połączenia gdy np. są przeciążone. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 325 Pomógł: 33 Dołączył: 31.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź uprawnienia plików/folderu, problem jest przy require('config.php'); ten plik nie jest dołączany
Cytat("kamil_lk") W pliku cat01/function.php powinno być... Przecież oba pliki są w tym katalogu... Ten post edytował sajegib 11.11.2013, 13:02:38 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 11.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź uprawnienia plików/folderu, problem jest przy require('config.php'); ten plik nie jest dołączany To nic nie daje. To trochę wygląda tak jakby global nie działało... Jakby ktoś się uparł to by napisał nawet najbardziej skomplikowany program bez użycia własnych funkcji i procedur, jednak skoro one ułatwiają pracę programisty, chcę z nich korzystać. Gdyby to był problem uprawnień to by funkcja require się wysypała i nie pozwoliła kontynuować pracy skryptu. Ten post edytował Syaoran i Sakura 11.11.2013, 13:57:52 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze definiuj STAŁE wiekimi literami...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 11.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze definiuj STAŁE wiekimi literami... To nic nie zmieniło... Zauważyłem również, że gdy w pliku function.php, zaraz po wypisaniu require("config.php") dodam następujące frazy To znikają pierwsze cztery komunikaty notice. Nie rozumiem jednak, dlaczego muszę dodawać global, skoro używam zmiennych z pliku i to w głównym skrypcie. Gdyby to była funkcja, to co innego. Podejrzewam, że parser PHP coś źle działa. Na wcześniejszej wersji Xamppa 1.73 z PHP 5.3 wszystko chodziło jak trzeba. Początkowo przypuszczałem, że pisane w PHP aplikacje będą kompatybilne z różnymi wersjami PHP, chyba że znajdą się w nich przestarzałe funkcję (takowych chyba u mnie nie ma). Teraz jednak widzę, że napisanie działającej aplikacji jest grą w ciemno, co mnie znacznie zniechęca do dalszego poznawania PHP. Jeszcze jedna uwaga: Skrypt działa prawidłowo na hostingu cba.pl, ugu.pl bez względu na to czy ustawię PHP w wersji 5.4 czy 5.3 czy 5.2. U mnie obecna jest wersja PHP 5.4.19, zaś środowisko Apache mam w wersji 2.4.4 i są kłopoty. Serwery internetowe zapewne coś w sobie mają skoro łykają moje skrypty bez żadnych ale. Przyznam również, że nie zostały postawione przez Czarodziejkę Tecne z klubu Winx. Chcę mieć na localhoście taką samą sytuację. Włączałem i wyłączałem różne dyrektywy w pliku PHP Ini lecz problem nie ustąpił. Ten post edytował Syaoran i Sakura 12.11.2013, 00:22:59 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 02:33 |