焦点观察:php-fpm 没有启动脚本怎么办

时间:2022-11-22 09:51:10       来源:PHP中文网

本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。


(资料图片)

php-fpm 没有启动脚本怎么办?

php-fpm服务启动脚本的方法

这个我自己在用,没问题,有三个path需要自己酌情修改。

先创建自启动文件:/etc/init.d/php-fpm

内容如下:

#! /bin/sh### BEGIN INIT INFO# Provides:          php-fpm# Required-Start:    $remote_fs $network# Required-Stop:     $remote_fs $network# Default-Start:     2 3 4 5# Default-Stop:      0 1 6# Short-Description: starts php-fpm# Description:       starts the PHP FastCGI Process Manager daemon### END INIT INFOprefix=/usr/local/phpexec_prefix=${prefix}php_fpm_BIN=${exec_prefix}/sbin/php-fpmphp_fpm_CONF=${prefix}/etc/php-fpm.confphp_fpm_PID=${prefix}/var/run/php-fpm.pidphp_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"wait_for_pid () {    try=0    while test $try -lt 35 ; do        case "$1" in            "created")            if [ -f "$2" ] ; then                try=""                break            fi            ;;            "removed")            if [ ! -f "$2" ] ; then                try=""                break            fi            ;;        esac        echo -n .        try=`expr $try + 1`        sleep 1    done}case "$1" in    start)        echo -n "Starting php-fpm "        $php_fpm_BIN --daemonize $php_opts        if [ "$?" != 0 ] ; then            echo " failed"            exit 1        fi        wait_for_pid created $php_fpm_PID        if [ -n "$try" ] ; then            echo " failed"            exit 1        else            echo " done"        fi    ;;    stop)        echo -n "Gracefully shutting down php-fpm "        if [ ! -r $php_fpm_PID ] ; then            echo "warning, no pid file found - php-fpm is not running ?"            exit 1        fi        kill -QUIT `cat $php_fpm_PID`        wait_for_pid removed $php_fpm_PID        if [ -n "$try" ] ; then            echo " failed. Use force-quit"            exit 1        else            echo " done"        fi    ;;    status)        if [ ! -r $php_fpm_PID ] ; then            echo "php-fpm is stopped"            exit 0        fi        PID=`cat $php_fpm_PID`        if ps -p $PID | grep -q $PID; then            echo "php-fpm (pid $PID) is running..."        else            echo "php-fpm dead but pid file exists"        fi    ;;    force-quit)        echo -n "Terminating php-fpm "        if [ ! -r $php_fpm_PID ] ; then            echo "warning, no pid file found - php-fpm is not running ?"            exit 1        fi        kill -TERM `cat $php_fpm_PID`        wait_for_pid removed $php_fpm_PID        if [ -n "$try" ] ; then            echo " failed"            exit 1        else            echo " done"        fi    ;;    restart)        $0 stop        $0 start    ;;    reload)        echo -n "Reload service php-fpm "        if [ ! -r $php_fpm_PID ] ; then            echo "warning, no pid file found - php-fpm is not running ?"            exit 1        fi        kill -USR2 `cat $php_fpm_PID`        echo " done"    ;;    *)        echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"        exit 1    ;;esac
登录后复制

配置php-fpm服务

# 设置权限chmod 755 /etc/init.d/php-fpm# php-fpm加入服务chkconfig --add php-fpm# php-fpm 234级别下设置为启动chkconfig php-fpm on# 查看php-fpm服务当前配置chkconfig --list php-fpmphp-fpm         0:off   1:off   2:on    3:on    4:on    5:on    6:off
登录后复制

php-fpm使用方法

# 启动service php-fpm start# 关闭service php-fpm stop# 重启service php-fpm restart# 重载service php-fpm reload#检查配置文件service php-fpm configtest
登录后复制

脚本说明

# Source function library.  . /etc/rc.d/init.d/functions   # Source networking configuration.  . /etc/sysconfig/network
登录后复制

以上量行代码有人会疑问他们到底是做什么的,"."是source类似于程序中的include和require,将functions里面的方法全部倒入到这边,这边程序便可以使用,例如这边用到的daemon、status。第二行的network实际上就几行,如下

NETWORKING=yesHOSTNAME=E10162
登录后复制

将他们作为变量赋值,判断网卡是否启动,如果你的nginx不走网卡,其实网络这段可以去掉.

/etc/init.d/php-fpm
登录后复制

推荐学习:《PHP视频教程》

以上就是php-fpm 没有启动脚本怎么办的详细内容,更多请关注php中文网其它相关文章!

关键词: 相关文章 变量赋值 设置权限