FreeBSD 8.2 + Apache 2.2 + PHP 5.3
Miroslav Lachman
000.fbsd at quip.cz
Tue Nov 22 10:23:09 CET 2011
Jan Dušátko wrote:
> Ahoj,
>
> Obracim se do plena s nemistnym dotazem, zda si nekdo z vas hral s PHP 5.3.
> V tuto chvili jsem byl porty a upgrade ponekud nemilym zpusobem donucen
> (kompilace zacala na php52, diky zavislostem jsem se probojoval na php53,
> pritom to vzalo sebou par aplikaci) prejit na tuto nepeknou verzi.
Jelikoz jsi nepridal vic informaci, aby bylo jasnejsi, v cem je problem,
tak ja se zkusim chytnout neceho jineho, nez ceho se chytli ostatni.
Pokud jsem to pochopil spravne, tak jsi do ted provozoval lang/php52 s
jeho php52-extensions a pri upgrade nejake aplikace se ti to zaclo samo
upgradovat na lang/php5 a php5-extensions... takze se myslim, ze ti tam
zustal kus toho a kus onoho a spolecne to nefunguje.
V tom pripade doporucuju pouzit pkg_delete -f php5\* a pkg_delete -f pecl\*
Tim odinstalujes vsechny PHP a PECL porty (extensions). Pak zacni na
cisto instalovat lang/php5 a udelej si u nej make config, aby sis vybral
options, ktere u neho opravdu potrebujes mit. Pak php5-extensions a opet
si vyber jen to, co skutecne potrebujes, at se ti neinstaluje defaultni
seznam extensions, ktere tebou provozovane webaplikace ani nepotrebuji a
jen zpusobuji problemy a zbytecne zavislosti.
Pozor zejmena na to, ze mezi php52-extensions a php5-extensions doslo k
nekolika zmenam. Nektere extensions prestaly uplne existovat (bud byly
zruseny, nebo jsou nedilnou soucasti lang/php5) a nektere nove tam byly
pridany. Takze vysledny seznam nainstalovanych extensions u php5 (5.3.8)
se bude lisit od seznamu php2 (5.2.17_4)
> Muj problem spociva v statu apache. Lepe receno ne v jeho startu, ale jeho
> okamzitem padu. Proto muj dotaz smeruje na uzivatele, kteri tuto verzi
> pouzivaji. Ladili jste neco pri prechodu? Moje soucasne rozpolozeni nelze
> slusnymi slovy opsat, makam na tom jiz od patku. Pripadnym zajemcum poslu
> svoje nastaveni options pro apache22 / php / php-extensions
Co se tyce nutnych uprav, tak nejlepsi je, si zkopirovat produkcni
php.ini z verze PHP 5.3.8 (php.ini-production) a do neho prenest
nastaveni z puvodniho php.ini verze 5.2.17 (treba pomoci vimdiff), ale
fungovat to bude i se starou verzi php.ini, jenom musis najit sekci
[Date] a pridat
date.timezone = "Europe/Prague"
Druha vec, kterou po prechodu na 5.3.8 patrne pocitis je to, ze v
divejsi verzi fungujici veci nyni vyhazuji Deprecated warningy. To se
tyka pouzivani funkci ereg(), eregi(), ereg_replace() a tak dale. Ty se
musi v PHP kodu nahradit jejich ekvivalentem pcre.
A pak jeste varovani, ze mas prestat pouzivat safe_mode, protoze v
pristi verzi PHP uz safe_mode nebude.
Je tam jeste par dalsich rozdilu, ale to se tyka spis primo PHP scriptu,
nez nastaveni serveru
http://php.net/manual/en/migration53.php
Mirek
PS: recode nepouzivam, takze to nemuzu nijak komentovat
More information about the Users-l
mailing list