Jump to content
Калькуляторы

Как перезапустить определенную службу в Linux через php

Linux CentOS 6.7

Apache/2.2.26 (Unix)

 

 

http://127.0.0.1/reload-service.php

 

файл reload-service.php

<?php
$v=passthru("/usr/bin/whoami", $r); - возвращает "apache" 

$v=passthru("/usr/bin/sudo /etc/init.d/nginx2 force-reload", $r); - не работает, возвращает код ошибки "1"

?>

cat /etc/sudoers

...
vista ALL=(root) NOPASSWD: /etc/init.d/nginx2 force-reload
apache ALL=(root) NOPASSWD:  /etc/init.d/nginx2/nginx2 force-reload

 

 

 

если зайти по пользователем "vista", то

/usr/bin/sudo /etc/init.d/nginx2 force-reload - восполняется команда

Share this post


Link to post
Share on other sites

sudo хочет tty, он должен был об этом сообщить в логах.

Отключается в конфиге.

 

И не совсем правильно дергать nginx без предварительной проверки через nginx -t.

Edited by Tau

Share this post


Link to post
Share on other sites

Большое спасибо!

Добавил в

 

/etc/sudoers

Defaults:apache !requiretty

 

Насчет проверки - конечно, куда без этого.

Edited by u.s.s.r

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this