Debain (Ubuntu) Apache 2 futtatás mod_fcgi-vel

Amennyiben Debian vagy Ubuntu rendszerű linux szerverünkön alapértelmezett (vagy alapértelmezetthez közeli) konfigurációval futtatjuk az Apache2 web szervert, nagy valószínűséggel a apache2-mpm-prefork wokert használjuk libapache2-mod-php5 -tel. Habár ez az alapértelemezett működés, nagy forgalom, illetve nagy, lassan futó scriptek esetében meggondolandó az apache2-mpm-worker használata, mivel a prefok modul memória igénye magas, illetve amiatt, hogy minden kérésrt egyetlen szál szolgál ki, a kiszolgálás sebessége nagymértékben lassulhat.
Nagy terhelésű szervereken ezek alapján mindenképpen érdemes a worker-t telepíteni, de ez felvet egy újabb problémát: a libapache2-mod-php5 csak a prefork-kal kompatibilis, a worker telepítése esetén a debian alapú rendszerek automatikusan eltávolítják azt.

Ebben a leírásban bemutatom, hogy hogyan tudjuk a preforkot workerre cserélni, illetve a libapache2-mod-php5 helyett hogyan tudunk mod_fcgi-t üzembe helyezni.

(tovább…)

Kedveled? Másnak is ajánlanád? Megosztás:

php exec() – Unable to fork warning windows alatt

Windows (IIS / Apache) alatt futtatott php 5.x alatt, ha exec függvényt próbálunk hívni, könnyen az alábbi hiba (figyelmeztetés) fogadhat minket:

"Warning: system() [function.system]: Unable to fork".

esetleg

"Warning: shell_exec() [function.shell-exec]: Unable to execute"

A probléma okozója az, hogy hiába van a php kódot futtató felhasználónak (általában IUSR_gépnév) jogosultsága a kérdéses állományt végrehajtani, a php exec() függvénye nem közvetlenül azt próbálja futtatni, hanem a cmd.exe-t, aminek paraméterben adja át a futtatni kívánt parancsot.

Így, a működéshez a cmd.exe-re is megfelelő jogosultságot kell adnunk. A cmd.exe elérési útvonala: %windir%\system32\cmd.exe (Általában c:\windows\system32\cmd.exe vagy c:\winnt\system32\cmd.exe)

A fájlon jobb klikk, tulajdonságok (properties)

 

cmd.exe tulajdonságai

cmd.exe tulajdonságai

 

 

Amennyiben az INTERNET GUEST ACCOUNT (IUSR_gépneve) nincs a listában, kattintsunk a hozzáadás(add gombra), és a mezőbe írjuk be az IUSR szöveget, majd nyomjuk meg a Névellenőrzés gombot. (Apache esetén válasszuk azt a felhasználót, amely nevében az apache folyamatok futnak.)

 

Fontos!!! Határozottan ellenjavallott több jogosultságot adni az IUSR felhasználónak, mint amennyi a képen látható

Kedveled? Másnak is ajánlanád? Megosztás: