Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przejście z PHP 5.2 na 5.6 lub 7
Forum PHP.pl > Forum > PHP
bordovy
Witam.
Na początku: jeśli temat jest w złym dziale - przepraszam, ale nie wiedziałem za bardzo, gdzie go umieścić. Jak będzie "nie tego" - proszę o przeniesienie / niekasowanie.

Serwer, na którym mam stronę, przechodzi powoli na PHP7. Do tej pory wszystko działa na PHP 5.2
Z przeprowadzonej rozmowy z właścicielem serwera dowiedziałem się, że muszę dostosować swoje skrypty (czytaj: całą stronę) do nowej wersji PHP7.
Jeszcze "przez jakiś czas" będzie działać PHp 5.2, ale zamierzają wkrótce wyłączyć tę starą wersję i proponują przejść przynajmniej na PHP 5.6

Aby sprawdzić, czy strona będzie hulała na wowszych (niż 5.2) wersjach, trzeba dopisać/zamienić linijkę w .htaccess, która obecnie wygląda tak:
  1. AddHandler application/x-httpd-php52 .php .phtml

na taką ( wersja 5.6):
  1. AddHandler application/x-httpd-php56 .php

lub najlepiej na taką (wersja 7):
  1. AddHandler application/x-httpd-php7 .php


Postanowiłem przetestować, czy wszystko będzie śmigać na PHP7. Od razu dostałem strzał pt:
Cytat
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/.../public_html/config_e.php:31
Stack trace: #0 /home/.../public_html/index.php(3): include() #1 {main} thrown in /home/.../public_html/config_e.php on line 31

No jak "undefined", skoro na PHp5.2 jest "defined" (nie wywala błędów)?!

OK... No to myślałem, że chociaż pójdzie na 5.6...
Kolejny strzał... - biała strona

No to może pójdzie na 5.3
Zmieniłem w .htaccess na:
  1. AddHandler application/x-httpd-php53 .php

i dostałem kolejny strzał - również biała strona sad.gif sad.gif sad.gif

Extra... mam dokładnie dwa miesiące na przejście na przynajmniej wymagane minimum (czyli na 5.3). Z końcem kwietnia przestanie działać 5.2 i docelowo najlepiej mieć 5.6, a już najbardziej-lepiej mieć 7.

Jeśli można... W miarę wolnej chwili, oczywiście:
Proszę o radę/rady, które w łopatologiczny sposób mi wyjaśnią, co może być przyczyną / gdzie szukać baboli.

Szukałem w sieci, lecz niestety wszystko po angielsku - a u mnie jest anglojęzyczny error...

Pomóżcie proszę. Z góry bardzo dziękuję
rad11
W PHP7 nie ma juz mysql_ więc jest to oczywiste że dostałeś taki strzał. Biała strona nic nikomu nie powie, musisz zajrzeć w logi może tam czegoś się dowiesz.
redeemer
Jak masz "białą stronę" to błędów PHP szukaj w logach.

https://secure.php.net/manual/pl/migration53.php (i tak dalej po kolei)
com
raczej będzie się to wiązało z przepisaniem tego od nowa i zastąpieniem mysql_ mysqli lub pdo, jednocześnie będzie to mniej podatne na sql injection smile.gif
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.