]> gitweb.michael.orlitzky.com - mjo-overlay.git/blobdiff - dev-lang/php/files/php-fpm-r4.init
Add dev-lang/php::gentoo.
[mjo-overlay.git] / dev-lang / php / files / php-fpm-r4.init
diff --git a/dev-lang/php/files/php-fpm-r4.init b/dev-lang/php/files/php-fpm-r4.init
new file mode 100755 (executable)
index 0000000..a186d83
--- /dev/null
@@ -0,0 +1,47 @@
+#!/sbin/runscript
+
+set_phpvars() {
+       PHPSLOT=${SVCNAME#php-fpm-}
+       [ ${PHPSLOT} = 'php-fpm' ] && PHPSLOT="$(eselect php show fpm)"
+
+       PHP_FPM_CONF="/etc/php/fpm-${PHPSLOT}/php-fpm.conf"
+       PHP_FPM_PID="/var/run/php-fpm-${PHPSLOT}.pid"
+}
+
+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 $?
+}