Pomoc
i
FAQ

Informacje dotyczące wersji PHP i możliwości zmiany ustawień PHP oraz inne przydatne informacje.

Na serwerze zainstalowane są równolegle trzy wersje PHP - wersja 5.2.x, 5.3.x i 5.4.x. Wersja PHP 5.3.x jest wersją domyślną. Aby przełączyć się na wersję PHP 5.2.x należy dodać do pliku .htaccess linijkę:

AddType application/x-httpd-php52 php

i analogicznie, by przełączyć interpreter PHP na wersję 5.4.x dodajemy linijkę:

AddType application/x-httpd-php54 php

Wszystkie trzy wersje działają pod kontrolą serwera Litespeed w trybie LSAPI SuexecPHP, czyli skrypty php wykonywane są pod daną nazwą użytkownika, który jest właścicielem skryptu, a nie tak jak dotychczas było jako nobody czyli serwer www. Dzięki temu znika problem z własnościami plików i katalogów, poprawia to też nieco bezpieczeństwo plików serwera wirtualnego.

Kolejnym udogodnieniem związanym też pośrednio z bezpieczeństwem jest zasada nadawania uprawnień na pliki i katalogi. Dotychczas chcąc zapisać skryptem php plik w katalogu, zarówno plik do którego się zapisuje jak i katalog musiał mieć uprawnienia 777. Teraz dla katalogów będzie to zawsze maksimum 755, dla plików maksimum 644. Ustawienie uprawnienia 777 na pliku czy katalogu będzie powodowało błąd Internal Server Error.

Następnym udogodnieniem we wszystkich wersjach PHP jest możliwość stosowania w poszczególnych katalogach własnych ustawień PHP, także sami możecie kontrolować i konfigurować działanie PHP. Dotychczas takie zmiany wprowadzaliście do plików php.ini czyli było to np:

display_errors = on
register_globals = on

Obecnie korzystając z dowolnej wersji PHP wystarczy w pliku .htaccess w katalogu public_html lub dowolnym innym katalogu gdzie jest to potrzebne umieścić odpowiednie wpisy czyli dla powyższego przykładu będzie to np:

php_flag display_errors on
php_flag register_globals on

Zgodnie z tym, co napisane jest w manualu PHP php_flag używamy gdy zmieniamy wartości z On na Off i odwrotnie, a jeśli zmieniamy coś co ma jakąś wartość inną niż On czy Off wtedy należy użyć php_value.

Jeśli skrypty php przestały działać oznacza to, że nie są one w pełni zgodne z PHP 5.3.x. W tym przypadku zalecamy aktualizację skryptów, zmianę kodu tak, by był on aktualny z PHP 5.3.x - więcej informacji dotyczących zmian w PHP 5.3 w stosunku do PHP 5.2 znajdziecie tutaj: http://php.net/manual/pl/migration53.php - niestety w języku angielskim.

W ostateczności jest możliwość ustawienia wersji interpretera PHP 5.2.x dodając do pliku .htaccess w katalogu public_html linijkę:

AddType application/x-httpd-php52 php

i od tej pory skrypty php wykonywane będą przez interpreter PHP 5.2.x

We wszystkich trzech przypadkach czyli dla PHP 5.2.x, PHP 5.3.x i PHP 5.4.x dyrektywa safe_mode ustawiona jest off gdyż nie ma ona już większego znaczenia przy trybie LSAPI SuexecPHP, a pozostawienie jej na on utrudniałoby niepotrzebnie działanie skryptów.

Na zakończenie przypominamy, że PHP 5.2.x nie jest już rozwijane i łatane pod względem bezpieczeństwa, dlatego trzeba dostosować swoje skrypty do nowszej wersji by nie pozostawać w tyle. Za kilka miesięcy zapewne całkowicie porzucimy wsparcie dla php 5.2.x - w "produkcji" jest już PHP 5.5

Standardowo w przypadku jakichkolwiek problemów prosimy pisać na admin@webhostingsolutions.pl

Poniżej kilka przydatnych linków na temat dostosowania różnych starych "gotowców" do zgodności z PHP 5.3.x.

osCommerce:
http://addons.oscommerce.com/info/7394 - pliki do nadpisania na wersję osCommerce 2.2 RC2a
http://www.oscommerce.com/solutions/downloads - wersje kompatybilne z PHP 5.3

phpBB by przemo:
http://www.przemo.org/phpBB2/forum/viewtopic.php?t=118066 - instrukcja poprawy działania forum pod PHP 5.3
Joomla - błąd: Warning: Parameter 2 to frontpage() expected to be a reference, value given in ......... on line 100
http://maximilion.wordpress.com/2010/05/15/joomla-warning-parameter-2-to-frontpage/

Zen-Cart:
http://www.zen-cart.com/forum/showthread.php?t=140960

Jeśli otrzymujesz Internal Server Error lub wyświetla się biała strona sprawdź, czy w pliku .htaccess nie ma wpisów niezrozumiałych dla serwera www, zakomentuj wszystkie linijki i sprawdź, czy błąd zniknął. Błąd ten może też oznaczać błędy php - aby je wyświetlić wystarczy w pliku .htaccess dodać linijkę:

php_flag display_errors on

Wspomniane było to w przykładzie powyżej ale nie zaszkodzi przypomnieć ;)

Jeśli otrzymujesz błąd: FATAL ERROR: register_globals is disabled in php.ini, please enable it! w pliku.htaccess dodaj:

php_flag register_globals on

Oznacza to też, że masz zapewne starą, dawno nie uaktualnianą wersję skryptu osCommerce lub innego. Pomyśl nad aktualizacją - opcja register_globals na on to znaczne pogorszenie bezpieczeństwa Twojej strony.

Przy wszelkiej maści problemach wujek Google zawsze dopomoże ;P

http://www.google.pl
< Wróć

O firmie

Nasza firma - Web Hosting Solutions - świadczy wysokiej jakości usługi hostingowe w Internecie. Działamy nieprzerwanie od 2003-go roku. Wcześniej firma działała pod nazwą DMK project.

Ponad 15 lat doświadczenia w branży hostingowej pozwala nam świadczyć usługi na możliwie najwyższym poziomie. Nie stoimy w miejscu - wraz z postępem technologicznym i większym zapotrzebowaniem naszych Klientów płynnie zmieniamy ofertę, modernizujemy infrastrukturę software'owo-sprzętową. Oferujemy dobry hosting w dobrej cenie.

Zapraszamy do skorzystania z naszej oferty serwerów wirtualnych, serwerów resellerskich oraz domen globalnych.

WHS na Facebook - zapraszamy

© Copyright - webhostingsolutions.pl 2003-2018logo_small