summaryrefslogtreecommitdiff
blob: 8ce81b984bc4dc643f65835f2aad78eeb00b884f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/sbin/openrc-run

extra_started_commands="reload"

set_phpvars() {
	PHPSLOT="${SVCNAME#php-fpm-}"
	PHP_FPM_PID="/run/php-fpm-${PHPSLOT}.pid"
	if [ ${PHPSLOT} = 'php-fpm' ] ; then
		PHPSLOT="$(eselect php show fpm)"
		PHP_FPM_PID="/run/php-fpm.pid"
	fi

	PHP_FPM_CONF="/etc/php/fpm-${PHPSLOT}/php-fpm.conf"
}

start() {
        ebegin "Starting PHP FastCGI Process Manager"
	set_phpvars
        start-stop-daemon --start --pidfile "${PHP_FPM_PID}" \
			  --exec "/usr/lib/${PHPSLOT}/bin/php-fpm" \
			  -- \
			  --fpm-config "${PHP_FPM_CONF}" \
			  --pid "${PHP_FPM_PID}"
        local i=0
        local timeout=5
        while [ ! -f "${PHP_FPM_PID}" ] && [ $i -le $timeout ]; do
            sleep 1
            i=$(($i + 1))
        done

        [ $timeout -gt $i ]
        eend $?
}

stop() {
        ebegin "Stopping PHP FastCGI Process Manager"
	set_phpvars
        start-stop-daemon --signal QUIT \
			  --stop \
			  --exec "/usr/lib/${PHPSLOT}/bin/php-fpm" \
			  --pidfile "${PHP_FPM_PID}"
        eend $?
}

reload() {
    ebegin "Reloading PHP FastCGI Process Manager"
    set_phpvars
    [ -f "${PHP_FPM_PID}" ] && kill -USR2 $(cat "${PHP_FPM_PID}")
    eend $?
}