| #!/sbin/openrc-run |
| |
| 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" |
| } |
| |
| extra_commands="depend" |
| extra_started_commands="reload" |
| |
| depend() { |
| need net |
| use apache2 lighttpd nginx |
| } |
| |
| start() { |
| ebegin "Starting PHP FastCGI Process Manager" |
| set_phpvars |
| start-stop-daemon --start --pidfile ${PHP_FPM_PID} --exec \ |
| /usr/lib/${PHPSLOT}/bin/php-fpm -- -y "${PHP_FPM_CONF}" -g "${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 $? |
| } |