Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Neaktivní uživatel:2.4.2014 17:32

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
Neaktivní uživatelský účet
Avatar
mkub
Tvůrce
Avatar
mkub:3.4.2014 20:06

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
3.4.2014 20:06
Avatar
jadana
Člen
Avatar
Odpovídá na Neaktivní uživatel
jadana:2.5.2014 11:30

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
Odpovídá na jadana
Neaktivní uživatel:2.5.2014 12:00

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
Neaktivní uživatelský účet
Avatar
jadana
Člen
Avatar
Odpovídá na Neaktivní uživatel
jadana:2.5.2014 13:01

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
Odpovídá na jadana
Neaktivní uživatel:2.5.2014 13:02

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

Nahoru Odpovědět
2.5.2014 13:02
Neaktivní uživatelský účet
Avatar
jadana
Člen
Avatar
Odpovídá na Neaktivní uživatel
jadana:2.5.2014 13:24

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
2.5.2014 13:24
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
mkub:3.5.2014 13:16

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.