]> git.pld-linux.org Git - packages/php.git/blob - php-fpm.init
- up to 8.0.7; soname to reflect that this is php 8
[packages/php.git] / php-fpm.init
1 #!/bin/sh
2 #
3 # @processname@ PHP FastCGI Process Manager
4 #
5 # chkconfig:    345 80 30
6 #
7 # description:  PHP FastCGI Process Manager
8 #
9 # processname:  @processname@
10 # config:       /etc/php/php-fpm.conf
11 # pidfile:      /var/run/@processname@.pid
12 #
13
14 # Source function library
15 . /etc/rc.d/init.d/functions
16
17 # Get network config
18 . /etc/sysconfig/network
19
20 configfile=/etc/php/php-fpm.conf
21 lockfile=/var/lock/subsys/@processname@
22 pidfile=$(sed -ne  's,^pid\s*=\s*\(.*\),\1,p' $configfile)
23 pidfile=${pidfile:-/var/run/@processname@.pid}
24
25 # configtest itself
26 # must return non-zero if check failed
27 # output is discarded if checkconfig is ran without details
28 configtest() {
29         /usr/sbin/@processname@ --fpm-config $configfile -t
30         return $?
31 }
32
33 # wrapper for configtest
34 checkconfig() {
35         local details=${1:-0}
36
37         if [ $details = 1 ]; then
38                 # run config test and display report (status action)
39                 show "Checking %s configuration" "PHP FastCGI Process Manager"; busy
40                 local out
41                 out=$(configtest 2>&1)
42                 RETVAL=$?
43                 if [ $RETVAL = 0 ]; then
44                         ok
45                 else
46                         fail
47                 fi
48                 [ "$out" ] && echo >&2 "$out"
49         else
50                 # run config test and abort with nice message if failed
51                 # (for actions checking status before action).
52                 configtest >/dev/null 2>&1
53                 RETVAL=$?
54                 if [ $RETVAL != 0 ]; then
55                         show "Checking %s configuration" "PHP FastCGI Process Manager"; fail
56                         nls 'Configuration test failed. See details with %s "checkconfig"' $0
57                         exit $RETVAL
58                 fi
59         fi
60 }
61
62 start() {
63         # Check if the service is already running?
64         if [ -f $lockfile ]; then
65                 msg_already_running "PHP FastCGI Process Manager (@processname@)"
66                 return
67         fi
68
69         checkconfig
70         msg_starting "PHP FastCGI Process Manager (@processname@)"
71         daemon --redirfds --pidfile $pidfile /usr/sbin/@processname@ --fpm-config $configfile
72         RETVAL=$?
73         [ $RETVAL -eq 0 ] && touch $lockfile
74 }
75
76 stop() {
77         if [ ! -f $lockfile ]; then
78                 msg_not_running "PHP FastCGI Process Manager (@processname@)"
79                 return
80         fi
81
82         # Stop daemons.
83         msg_stopping "PHP FastCGI Process Manager (@processname@)"
84         # always gracefully shut down @processname@
85         /sbin/start-stop-daemon -q --stop -s QUIT --retry QUIT/600/TERM/10 --pidfile $pidfile
86         [ "$?" -eq 0 ] && ok || fail
87         rm -f $lockfile
88 }
89
90 reload() {
91         local sig=${1:-HUP}
92         local retnr=${2:-7}
93         if [ ! -f $lockfile ]; then
94                 msg_not_running "PHP FastCGI Process Manager (@processname@)"
95                 RETVAL=$retnr
96                 return
97         fi
98
99         checkconfig
100         msg_reloading "PHP FastCGI Process Manager (@processname@)"
101         killproc --pidfile $pidfile @processname@ -$sig
102         RETVAL=$?
103 }
104
105 condrestart() {
106         if [ ! -f $lockfile ]; then
107                 msg_not_running "PHP FastCGI Process Manager (@processname@)"
108                 RETVAL=$1
109                 return
110         fi
111
112         checkconfig
113         stop
114         start
115 }
116
117 RETVAL=0
118 # See how we were called.
119 case "$1" in
120   start)
121         start
122         ;;
123   stop|quit)
124         stop
125         ;;
126   restart)
127         stop
128         start
129         ;;
130   try-restart)
131         condrestart 0
132         ;;
133   reload|force-reload)
134         reload USR2 7
135         ;;
136   checkconfig|configtest)
137         checkconfig 1
138         ;;
139   flush-logs|logrotate)
140         reload USR1 0
141         ;;
142   status)
143         status  --pidfile $pidfile @processname@
144         RETVAL=$?
145         ;;
146   *)
147         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|flush-logs|checkconfig|status}"
148         exit 3
149         ;;
150 esac
151
152 exit $RETVAL
This page took 0.06188 seconds and 3 git commands to generate.