Diskuze: linux - Restart apache serveru v PHP

PHP PHP linux - Restart apache serveru v PHP American English version English version

Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Daniel Vítek:

Ahoj, opět potřebuji poradit.

V PHP se pokouším restartovat Apache server následujícím kódem:

exec("sudo service apache2 restart");

Problém je v tom, že server se vypne, ale už nenaběhne. Napadlo mě, že by se dal napsat nějaký prográmek v Cčku, který by to restartoval, ale nevím jak. Popř. napadá vás nějaké jiné řešení ?

Díky, Dan

Editováno 2.4.2014 17:33
 
Odpovědět 2.4.2014 17:32
Avatar
mkub
Redaktor
Avatar
mkub:

mam pocit, ze nenabehne asik preto, ze Apache ked sa vypne, tak zhodi komplet cele prostredie, v ktorom PHP bezia, cize aj zhodi aj vykonavanie restartu...
myslim, ze nieco podobneho sa tu preberalo

 
Nahoru Odpovědět  +1 3.4.2014 20:06
Avatar
jadana
Člen
Avatar
Odpovídá na Daniel Vítek
jadana:

pokusím se přispět, byť už je to starší dotaz
Problém ti napsal mkub. Restart ti zabije Apache, tedy i PHP.

Tvůj problém by mohlo vyřešit (nezkoušeno) "killall -HUP httpd"

 
Nahoru Odpovědět 2.5.2014 11:30
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na jadana
Daniel Vítek:

Ahoj, toho jsem si vědom, proto jsem přemýšlel o tom externím prográmku. Ten killall vyzkouším.

 
Nahoru Odpovědět 2.5.2014 12:00
Avatar
jadana
Člen
Avatar
Odpovídá na Daniel Vítek
jadana:

ještě, k čemu restartovat server scriptem, není to proti logice bezpečnosti?
K čemu Céčko, napiš si Bash a ten zavolej, tam by ti nemělo vadit vypnutí, protože v Bash můžeš napsat přikaz ve stylu...

Vypni Apache
Počkej časovou jednotku
Zapni Apache

 
Nahoru Odpovědět 2.5.2014 13:01
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na jadana
Daniel Vítek:

Dělám si vlastní panel na VPSko :)

 
Nahoru Odpovědět 2.5.2014 13:02
Avatar
jadana
Člen
Avatar
Odpovídá na Daniel Vítek
jadana:

V tom případě všechno máš, koukni do scriptů v /../init.d/

On vlastně ten -HUP není nic jiného, než reload konfigurace bez zabití rodiče s tím, že potomci se neukončí naráz, ale podle potřeby (see man page).
Ty ale posíláš restart, což je je sekvence stop/start (tedy alespoň na mých CentOs a gentoo)

Editováno 2.5.2014 13:26
 
Nahoru Odpovědět  +1 2.5.2014 13:24
Avatar
mkub
Redaktor
Avatar
Odpovídá na Daniel Vítek
mkub:

ked ti staci iba reloadnut nastavenie, tak nahrad restart parametrom reload, to ti nezhodi server, server bude bezat dalej, len sa aplikuju nove nastavenia

a ako jadana uviedol, tak parameter restart je alternativa k tejto postupnosti prikazov:

service apache2 stop
servuce apache2 start

a pokial potrebujes restartovat, tak treba si napisat na to script v shelli a ten potom volat v PHP a ako na to, tak verim, ze ti Google pomoze (raz som na taky script natrafil, nebol az tak zlozity), myslim, ze bude potrebne pouzit aj nohup

 
Nahoru Odpovědět 3.5.2014 13:16
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.