[PHP]Problem z file_get_contents |
[PHP]Problem z file_get_contents |
29.03.2023, 23:07:58
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) |
Witam, mam pewien problem z kodem, piszę własny sytem licencjonowania i irytuje mnie już ża coś nagle przestało działać... jeszcze do jakiegoś czasu wszystko było ok aż nagle skrypt zaczął wywalać błąd a raczej braku klucza lub jego poprawność....
W module mam taki kod:
W pliku veryfication_license.php mam kod:
gdy ręcznie w wyszukiwarce się wpisze adres z file_get_content podmieniając tagi na adres strony i klucz to pokazuje wszystko poprawnie natomiast moduł pokazuje mi błąd z funkcji
wyświetlanie ręcznie zmiennej $result nie pokazuje dosłownie nic a przy zmiennej $message pokazuje tą informację o błędnej liceencji... co najlepsze sprawdzałem kod na różnych sandboxach dostępnych w internecie, na 3 z pośród kilkunastu stron takich komunikat wyświetlał poprawnie że klucz prawidłowy ale na większości to samo: błędny klucz lub jego brak... Używam PHP 8.2 Co tutaj mogło się zepsuć? Dodam że plik sprawdzający klucz łączy się z bazą danych gdzie ten klucz się znajduje a prawa pliku (CHMOD) to 644, nic z tym nie było zmieniane ani ruszane... |
|
|
30.03.2023, 06:10:24
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 762 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Usuń @ z linii 4.
Nie wszystkie sandboxy pozwalają na użycie file_get_contents. -------------------- |
|
|
30.03.2023, 06:36:36
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) |
Niestety dalej to samo... A moduł który wykorzystuje sprawdzanie licencji znajduje się na stronie klienta i dzięki tej zmiennej łączy się z moją stroną więc nie wykorzystuje sandboxów, z tego ja sprawdzałem czy czegoś nie pomieszałem.
Może jest jakaś inna zmienna zamiast file_get_contents która zadziała i będzie zgodna z najnowszą wersją PHP 8.2 |
|
|
30.03.2023, 07:12:44
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 762 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Sprawdzałeś jaką wartość ma licencja po użyciu file_get_contents?
Masz włączone wyświetlanie błędów w PHP? -------------------- |
|
|
30.03.2023, 09:20:35
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) |
$licencja wartość brana jest z pliku konfiguracyjnego, użytkownik dostaje klucz, wprowadza go w ustawieniach i zapisuje w pliku konfiguracyjnym, użyciu file_get_contents w $licencja nie zachodzą żadne zmiany. Z file_get_contents ma pobierać wartość z mojego portalu i porównywać dane czy użyty klucz przez użytkownika jest zgodny z kluczem który znajduje się w mojej bazie oraz czy klucz jest przypisany do domeny na której został wprowadzony. Jeszcze do niedawna całość działało i nie wiem kiedy się coś popsuło. Zmiana wersji PHP nie pomaga
|
|
|
30.03.2023, 10:16:45
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 762 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Przepraszam, $result, nie $licencja.
Co daje var_dump($result); po file_get_contents? -------------------- |
|
|
30.03.2023, 10:39:09
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) |
bool(false)
Jak dałem przed $result to miałem string(0) |
|
|
30.03.2023, 10:56:29
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 762 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Zajrzyj do dokumentacji file_get_contents i sprawdź kiedy zwraca false (sekcja Return Values) oraz sekcja Tip.
Nie bardzo wiem skąd wynik string(0). Czy to był wynik z var_dump($licencja)? Jeśli tak, to po prostu wartość nie jest pobierana z $config. -------------------- |
|
|
31.03.2023, 13:47:18
Post
#9
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) |
Jeżeli $licencja odczytana z konfiguracji jest NULL, to po co w ogóle sprawdzać ją po stronie twojego serwera funkcją file_get_contents(). Chyba wypadałoby kolejność działań zmienić.
file_get_contents() może u Ciebie zwrócić albo tekst "niekompletny adres" albo tekst zapisany w zmiennej $key albo cały div z informacją "<div class=\"alert alert-warning alert-orange alert-styled-left alert-arrow-left \">Brak Klucza Licencyjnego. Aby w pełni korzystać z modułu Online przejdź na stronę <a href='http://moja-strona/index.php' target=\"_blank\">Moja Strona</a> aby wykupić klucz licencyjny</div>" albo false/NULL w określonych przypadkach. Jeżeli dla trzech stron działa to prawidłowo, to znaczy, że każda inna strona jak kolega @trueblue wspomniał nie pobiera wartości z $config albo pobiera wartość nieprawidłową (może to być nawet spacja na końcu łańcucha znaków, czy jakiś znak specjalny). |
|
|
1.04.2023, 00:15:21
Post
#10
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) |
ok znalazłem pewien błąd którego mocno nie rozumiem...
Na początek powiem że stronę mam postawioną na hostingu proserwer.pl tam podstawową domeną jest xaa.pl, mam jednak u nich również wykupioną oraz podpiętą domenę bez xaa i teraz tak: gdy w file_get_content jest w adresie podana domena: moja-strona.pl to wywala błąd bool(false) natomiast gdy zamienię na moja-strona.xaa.pl (czyli główna domena) to wszystko działa jak powinno więc pytanie w czym może tkwić problem by przypadkiem niepotrzebnie pisać do dostawcy serwera? |
|
|
1.04.2023, 06:10:31
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Żeby zdalne includowanie działało misia być włączone https://www.php.net/manual/en/filesystem.co...allow-url-fopen patrzyłeś na php.ini tego hosta?
-------------------- |
|
|
1.04.2023, 09:24:02
Post
#12
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) |
hmm niby można ten parametr samemu wprowadzić w pliku .user.ni lub .htacess ale dalej nie działa więc napiszę do supportu hostingu o sprawdzenie tej opcji
|
|
|
1.04.2023, 09:39:36
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
A sprawdziłeś jakie jest ustawienie?
-------------------- |
|
|
1.04.2023, 09:44:25
Post
#14
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) |
Nie mam wglądu w plik PHP.ini mojego serwera
|
|
|
1.04.2023, 10:21:15
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
To jesteś wyjątkowym przypadkiem.
https://www.php.net/manual/en/function.phpinfo.php https://www.php.net/manual/en/function.ini-get -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 4.05.2024 - 14:40 |