Autor Zpráva
nethor
Profil
Zdravím,
na localu (win xp) mám Apache 2.2, PHP 5.2.6, MySQL 5.0.
Kvůli ZendFramework-2.0.3 bych potřeboval vyšší verzi PHP (PHP 5.3.3 or later).

Jak se to dá provést co nejjednodušším způsobem?

Zkoušel jsem nakopírovat adresář s php-5.3.8 a upravit httpd.conf a php.ini (+restart), tak se mi ale php nepodařilo rozběhnout.
Možná si Apache 2.2 nerozumí s PHP 5.3.8 (?).
Současné php běží jako modul ( LoadModule php5_module "C:\Program Files\php-5.2.6-Win32\php5apache2_2.dll")


Není tedy snažší přeinstalovat celou triádu - např. EasyPHP a překopírovat úložiště databáze (adr. data) ? - Jde to takhle vůbec pře.cra.cknout?
V db mám hromadu věcí o které nechci přijít.
V PHP 5.2.6 mám taky nejaká rozšíření imagick, zip, ... nevím, jestli je do nové verze budu muset taky instalovat (nebo to už má 5.3.8 v sobě?)

Jaká je nejsnažší cesta?
Davex
Profil
nethor:
Dělám to podobně. Do nějakého adresáře rozbalím archiv s novou verzí PHP, změním cestu k modulu v httpd.conf a upravím php.ini v novém adresáři podle staršího vyzkoušeného (případně zakomentuji nahrávání modulů, které v novější verzi nemám). Někdy nestačí restartovat Apache a musí se restartovat celý počítač.

tak se mi ale php nepodařilo rozběhnout
Hlásí Apache nějakou chybu v error.log nebo nevyskytuje se nějaká chyba v systémovém a aplikačním logu ve Windows?
nethor
Profil
Davex
U php-5.3.8 se oproti php-5.2.6 dost liší adresářová struktura.
např. v rootu vůbec nejsou knihovny php5*****.dll (cca 10ks) - na php5apache2_2.dll je zmíněný odkaz v httpd.conf.
Knihovny jsem do verze 5.3.8 překopíroval, cestu nastavil na 5.3.8, ale phpinfo() nadále hlásí v. 5.2.6.
Jen scriplty začaly vpisovat podivné hlášky typu: Fatal error: Call to undefined function MySQL_Connect() in D:\...
(Depricated budiž, ale Fatal error?!)

err.log píše PHP Warning:, že nemůže najít knihovny v ...\ext\php_curl.dll . Celkem oprávněně, ty tam v php-5.3.8 nejsou, jsou tam adresáře s podobnými jmény.

Systémový a aplikační log ve Windows vůbec netuším, kde mám hledat.

V tomhle se nevyznám, možná jde o problém cgi vs. module.
---------------------
Edit: Aha, tak jsem měl staženou špatnou verzi PHP: thread-safe vs. non-thread-safe
nethor
Profil
Vše jsem už rozběhal kromě Imagick.

V phpinfo() ImageMagick i imagick je, ale když zavolám ve scriptu new Imagick(“file.png”); restartuje se Apache.
errlog: [Fri Nov 02 12:34:55 2012] [notice] Parent: child process exited with status 3221226519 -- Restarting.

Už nevím co s tím, zkoušel jsem různé verze ImageMagick, php_imagick.dll i PHP.
Davex
Profil
nethor:
Musíš sehnat správnou verzi knihovny php_imagick.dll pro PHP 5.3.8 (pro stejnou verzi PHP API) nebo si jí přeložit. Na Windows je s tím často problém a pak musí se hledat v balících typu WampServer, XAMPP, EasyPHP nebo na webu nějakého dobrovolníka, který to už udělal (http://valokuva.org/?page_id=50).
nethor
Profil
Davex:
Z postupů na http://valokuva.org/?page_id=50 jsem čerpal velmi.
Z toho co je tam popisováno jsem vyzkušel asi vše, bohužel bez úspěchu.
Problém s pádem Apache (http://valokuva.org/?page_id=50#comment-29969) jsem nerozchodil.
Po dvou dnech marné práce se se vracím z5 k PHP 5.2.6., zpátky na stromy.
Díky za snahu pomoci.
Davex
Profil
nethor:
To znamená, že instalace žádné starší verze ImageMagicku nepomohla? Ta knihovna je asi přeložená pro nějakou konkrétní verzi a s ostatními to může zlobit.

Ještě by mohl být problém s relativní cestou k obrázku a koukám, že už jsme spolu php_imagick jednou řešili.

Rozšíření Imagick
imagick - zprovoznění
nethor
Profil
Na PHP 5.2.6 mi funguje ImageMagick-6.6.6-Q16

Při přechodu na vyšší PHP (zkoušel jsem php-5.3.6, php-5.3.8 a php-5.3.18) mi Apache hlásil rozdílné číslo API PHP a imagick.

Zkoušel jsem 3 verze imagick (thread-safe) .dll z adr. http://valokuva.org/builds/ , to naběhlo bez chyb, ale při new Imagick(“file.png”); se pokaždé resnul Apache.

Nainstaloval jsem ještě ImageMagick-6.6.2-Q16 (zmíněna na valokuva) a ImageMagick-6.8.0-Q16 (poslední stabilní). Ale Apache padal stále.

Po změně cesty k ImageMagick v httpd.conf se skutečně musí resnout celý comp, jak jsi mi poradil již dříve.

Jsem zpátky na PHP 5.2.6, po 3 dnech laborování mi už došly síly. Možná zkusím up 5.3 později.

Díky za snahu pomoci.
Davex
Profil
new Imagick(realpath("file.png"));

padá také?



Tak mi to nedalo a prozkoumal jsem instalaci, kde to chodí.

1) PHP 5.3.6 VC9 thread-safe (z php.net soubor php-5.3.6-Win32-VC9-x86.zip)
2) php_imagick_ts.dll VC9 thread-safe z valokuva.org
3) ImageMagick 6.6.2-10 2010-06-29 Q16 (z archivu starších verzí soubor ImageMagick-6.6.2-10-Q16-windows-dll.exe)
nethor
Profil
Davex:
Sláva, v konfiguraci, kterou jsi poslal mi PHP 5.3.6 běží i s Imagick! Děkuju.

S realpath() to padalo také.

Správně to začalo fungovat až po odinstalování ImageMagick-6.8.0-Q16 a manuálním smazání adresáře s jeho knihovnami.
Nevím proč, ale změna cesty v httpd.conf (+restart) nestačila.

Díky za pomoc.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: