Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Po uprgade do 5.6 nic nie działa
Mieeetek
post 18.11.2016, 10:04:19
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.11.2016

Ostrzeżenie: (0%)
-----


Ma stronę na VPS gdzie do tej pory był PHP 5.2. Hosting wykonał upgrade do wersji 5.6 (z opcją 7). Efekt jest takie że nie działają żadne strony z z rozszerzeniem .php
Nawet strona

  1. <?php
  2. echo "aaaa test";
  3. ?>


pokazuje pusty wynik
na podglądzie widać cały kod.
To samo po wyczyszczeniu całego pliku .htaccess

Ktoś ma jakiś pomysł co mogę zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
kapslokk
post 18.11.2016, 10:09:24
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
Ktoś ma jakiś pomysł co mogę zrobić?

Może błędy wyświetl? Chociaż jeśli ten kod, który zamieściłeś nie działa, to raczej problemu szukał bym gdzie indziej - konfiguracja apache.

Go to the top of the page
+Quote Post
Mieeetek
post 18.11.2016, 10:10:52
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.11.2016

Ostrzeżenie: (0%)
-----


raport błędów też daje pustą białą stronę
jeśli mam hosting - to muszę raczej męczyć admina o konfigurację Apache - prawda ?
Go to the top of the page
+Quote Post
kapslokk
post 18.11.2016, 10:15:02
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


No ja nie wiem co Ty masz w końcu. W pierwszym poscie piszesz, ze masz VPS, a teraz ze hosting. Ale skoro zmienila Ci sie wersja PHP bez Twojej ingerencji, to pewnie masz hosting na serwerze wspoldzielonym. Zanim zagadasz do adminow sprobuj jeszcze usunac .htaccess calkowicie, upewnic sie, ze masz domene podpieta pod odpowiedni katalog i po tym wszystkim sprobuj odpalic plik php z zawartoscia:
  1. <?php
  2. echo("Dzialam");


Ten post edytował kapslokk 18.11.2016, 10:15:16
Go to the top of the page
+Quote Post
Tomplus
post 18.11.2016, 10:15:18
Post #5





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


prawdopodobnie masz wyłączone raportowanie błędów.

spróbuj wymusić raportowanie np dając na początku strony:

  1. error_reporting (E_ALL ^ E_NOTICE);

albo sprawdzić w opcjach, może są wyciszone.


Np. na Linuxinfo ma w trybie administratora konta opcje ustawień serwera (i PHP) dla danej domeny, a inne hostingi wyłączają domyślnie raporty na stronie i należy włączyć w panelu lub czytać logi.

Ten post edytował Tomplus 18.11.2016, 10:18:01
Go to the top of the page
+Quote Post
viking
post 18.11.2016, 10:20:21
Post #6





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Być może masz dodaną AddHandler x-mapp-php5.2 .php albo coś podobnego.


--------------------
Go to the top of the page
+Quote Post
emstawicki
post 18.11.2016, 10:59:08
Post #7





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Cytat(Mieeetek)
Ma stronę na VPS

Cytat(Mieeetek)
jeśli mam hosting


Zdecyduj się co w końcu masz smile.gif
Hosting współdzielony? VPS zarządzany przez administratora? VPS z dostępem root?

Jeżeli to administrator (nie Ty) hostingu / VPS dokonał zmiany wersji PHP to w jego interesie jest rozwiązanie problemu smile.gif
Chyba, że masz panel zarządzania, w którym możesz wybrać wersję PHP (może jest nie wybrana, albo wyłączona obsługa php?)


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
Mieeetek
post 18.11.2016, 15:53:25
Post #8





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.11.2016

Ostrzeżenie: (0%)
-----


"Przyczyną był błędnie wygenerowany plik konfiguracyjny httpd.conf który odtwarzał się z niepoprawnego szablonu dla nowej wersji PHP." (odpowiedź z administracji)

Serwis działa - choć nie w całości. Działa np. Forum phpbb, ale nie działają silniki wyszukiwania które sam robiłem (i działały pod PHP5.2 - teraz jest php5.6.28)

W tych problematycznych stronach operujących na bazach dokonałem zmian, zamieniłem wszystkie msql na msqli. Połączenie z bazami jest (np. wylicza mi ilość rekordów) to nie działa przesyłanie zmiennych i operacja na bazie.
Raportowanie błędów pokazuje taki komunikat

mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given

mój kod to:
  1. $word="";
  2. if($word)
  3. {
  4. $getWord=mysqli_query($db, "SELECT word,definition FROM mdglossary WHERE word LIKE '$word' ORDER BY word");
  5. }
  6. if($getWordArray=mysqli_fetch_array($getWord))
  7. {
  8. do
  9. {
  10. echo "xxxxx";
  11. }
  12. while($getWordArray=mysqli_fetch_array($getWord));
  13. }



Go to the top of the page
+Quote Post
nospor
post 18.11.2016, 15:57:19
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given
Komunikat bledu mowi wszystko. Przeczytal wacpan go?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Mieeetek
post 18.11.2016, 16:06:25
Post #10





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.11.2016

Ostrzeżenie: (0%)
-----


tak, uczyli mnie w szkole czytania, ale dalej nie wiem co mam zrobić aby to działało - przecież jest $getWord
Go to the top of the page
+Quote Post
nospor
post 18.11.2016, 16:19:55
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czy tak ciezko wyswietlic co to zawiera?


var_dump($getWord);
if($getWordArray=mysqli_fetch_array($getWord))

Taki problem? Myslisz ze php wyswietla sobie ot tak losowo bledy? Skoro mowi ze cos jest tekstem a powinno byc czyms innym, znaczy ze tak jest, wiec wyswietl sobie co to dokladnie zawiera.

Tudziez tu:


var_dump($getWord);
while($getWordArray=mysqli_fetch_array($getWord));

Bo nie sprawdziles ktorej linii dotyczy blad...

ps:
Cytat
przecież jest $getWord
TYko ze to jest w warunku a warunek jak sama nazwa wskazuje raz sie wykona a raz nie - zaleznie czy warunek spelniony czy nie. A twoj kod co tu pokazales to na chwile obecna nie spelnia tego warunku i $getWord nie jest inicjalizowane w IF


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Mieeetek
post 18.11.2016, 16:28:47
Post #12





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.11.2016

Ostrzeżenie: (0%)
-----


niektórym ciężko, dlatego pytają innych

string(0) ""

(linia jest raportowana do tego pierwszego - w przykładzie linia 6 ale wypisałem pozostałą część kodu)

taki jest rezultat - i dalej nie wiem o co chodzi. Pierwsza wartość jest pusta czy jak?

Ten post edytował Mieeetek 18.11.2016, 16:29:33
Go to the top of the page
+Quote Post
viking
post 18.11.2016, 16:32:54
Post #13





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


mysqli_query powinno zwrócić obiekt mysqli_result albo boolean. Jakim cudem ty masz ""? Sprawdź jeszcze co dzieje się wcześniej np czy połączenie z bazą w ogóle jest nawiązane.


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 18.11.2016, 16:35:18
Post #14





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Odpowiedź prosta, wysyłasz zapytanie który nie zawiera żadnej treści.

Sprawdź co się stało że zapytanie nie zostaje zapisane w zmiennej $getWord;
Go to the top of the page
+Quote Post
Mieeetek
post 18.11.2016, 20:21:05
Post #15





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.11.2016

Ostrzeżenie: (0%)
-----


Wygląda na to że tak - bo wcześniej np. poprawnie jest wyliczana ilość rekordów

Poza tym
  1. $db = mysqli_connect("$host", "$username", "$password") or die ("could not connect to mysql");
  2. mysqli_select_db($db, "$databasename") or die ("no database");


nie pisze że coś jest nie tak

i jeszcze zgodnie z poradą wstawiłem

  1. function mysqli_result($db,$row=0,$col=0){
  2. $numrows = mysqli_num_rows($db);
  3. if ($numrows && $row <= ($numrows-1) && $row >=0){
  4. mysqli_data_seek($db,$row);
  5. $resrow = (is_numeric($col)) ? mysqli_fetch_row($db) : mysqli_fetch_assoc($db);
  6. if (isset($resrow[$col])){
  7. return $resrow[$col];
  8. }
  9. }
  10. return false;
  11. }


więcej grzechów nie pamiętam

UZUEPEŁNIENIE:
var_dump($_GET);
daje
array(1) { ["word"]=> string(5) "xxxxxx" }
(w adresie jest aaaaaaaaa.php?word=xxxxxx

Co może być przyczyną tego że zapytanie nie zostaje zapisane w zmiennej $getWord; ?

Sorry ale ja naprawdę nie mam pojęcia jak sprawdzić co się stało że zapytanie nie zostaje zapisane w zmiennej $getWord i nie mam pomysłu dlaczego tak się dzieje.

Ten post edytował Mieeetek 18.11.2016, 17:15:57
Go to the top of the page
+Quote Post
Tomplus
post 18.11.2016, 22:17:53
Post #16





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Sprawdźmy kod jeszcze raz....

  1. $word=""; //deklarujesz zmienną $word, tak?
  2. if($word) { // teraz sprawdzasz czy ma zawartość? zastosuj dla pewności isset($word) lub !empty($word)
  3. $getWord=mysqli_query($db, "SELECT word,definition FROM mdglossary WHERE word LIKE '$word' ORDER BY word");
  4. //proponuje zrobić sobie:
  5. echo "SELECT word,definition FROM mdglossary WHERE word LIKE '$word' ORDER BY word";
  6. //a następnie takie zapytanie wkleić do bazy danych, o ile błędów nie będzie wcześniej widać np. błędna wartość $word.
  7. }


i jeszcze

  1. function mysqli_result($db,$row=0,$col=0)


Totalnie nie rozumiem tej funkcji, po kiego wkładasz do funkcji zasób $db i dwa argumenty liczbowe? Moze dlatego Ci nie działa, bo korzystając z takiej funkcji nie wysyłasz zapytania, tylko informację o połączeniu.
Go to the top of the page
+Quote Post
Mieeetek
post 20.11.2016, 01:45:06
Post #17





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 18.11.2016

Ostrzeżenie: (0%)
-----


Cytat(Tomplus @ 18.11.2016, 22:17:53 ) *
  1. function mysqli_result($db,$row=0,$col=0)


Totalnie nie rozumiem tej funkcji, po kiego wkładasz do funkcji zasób $db i dwa argumenty liczbowe? Moze dlatego Ci nie działa, bo korzystając z takiej funkcji nie wysyłasz zapytania, tylko informację o połączeniu.


Dla mnie to jest magia, nie rozumiem tej funkcji, ale działa. Jeśli usuwam $db to pojawia się kilka błędów i nie działają niektóre wyszukiwania w bazie.

Obecnie udało mi się usunąć wszystkie błędy z wyświetlania
Problem był w if($getWordArray=mysqli_fetch_array($getWord))

Najpierw zrobiłem
$ile="";
.... (cod)
$ile=mysqli_num_rows(getWord);

a potem if($ile>0)
i dopiero wtedy
$getWordArray=mysqli_fetch_assoc($getWord);

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:06