Egy elég furcsa hibába futottam bele. Van egy ilyen sorom:
preg_match('/<select multiple name=\"FormAddrBookMembers\"[^>]*>(.)+?<\/select>/i',$page,$matches);
Ha ez lefut, az apache nem rendereli az oldalt, hanem megnyitja a file letöltő ablakot, hogy töltsem le a php filet. Ha ekvivalensre változtatom a reguláris kifejezést ugyanez a helyzet, ha elrontom, akkor minden ok (leszámítva, hogy nem azt az eredményt kapom amit szeretnék).
Egy WAMP szerveren fejlesztettem, ott nem volt ilyen probléma, most egy FreeBSD+Apache 2+PHP5 kombón akarnám élesíteni a cuccot.
Látott már valaki ilyet?
- 1109 megtekintés
Hozzászólások
némi fejlemény: ereg()-gel megy a dolog, de az meg buta mint a tök...
- A hozzászóláshoz be kell jelentkezni
Ez általában akkor van, ha a php segmentation fault-ol idő közben. Nézd meg az apache error logot, hogy van-e benne valami. Esetleg frissíts php-t.
- A hozzászóláshoz be kell jelentkezni
Nem csodalom, hogy elszall.
Nezz mar ra, hogy mit mentesz el a regexpeddel!
(.)+
Ez ugye karakterenkent letrehoz egy captured subpattern-t egeszen az utolso select lezarasaig (mert ugye a greedy sincs kikapcsolva). Kicsit sok lesz szerintem :).
ui: biztos kell \ a " ele?
----
Sooner or later you had to talk, even if it was only because you'd run out of things to throw. - Pratchett
honlap készítés
- A hozzászóláshoz be kell jelentkezni
Én úgy látom hogy ott van a ? (ez a lazy, ha nem tévedek). A \-t biztos ami tuti odaírtam, de mivel ahogy említettem, a keresés a fejlesztő gépen rendesen lefutott, ezért nem hiszem hogy ezzel van baja.
Apache logban sem látok semmit, viszont ennek a segfault iránynak még megpróbálok utánajárni! A PHP 5.2.5-ös.
- A hozzászóláshoz be kell jelentkezni