mac 开机启动php,mac系统,php-fpm加入开机启动项

寻找php-fpm的路径

whereis php-fpm

如果找不到,可以尝试使用:

find / -name php-fpm一般默认的路径就是:

/usr/sbin/php-fpm

修改php-fpm.conf配置文件

默认位置是:

/private/etc/php-fpm.conf

如果不存在的话,就看看是不是存在

/private/etc/php-fpm.conf.default

然后 COPY 一份:

sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

修改php-fpm的配置文件的项目『daemonize』

daemonize = yes

把前面的分号去掉。

加入启动项

在~/Library/LaunchAgents目录,新建 org.php.php-fpm.plist 文件:

Label

php-fpm

Program

/usr/sbin/php-fpm

KeepAlive

注意:xml文件中的php-fpm的路径,是通过上面的命令得到的。

sudo chown root:owner ~/Library/LaunchAgents/org.php.php-fpm.plist

sudo chmod +x ~/Library/LaunchAgents/org.php.php-fpm.plist

sudo launchctl load -w ~/Library/LaunchAgents/org.php.php-fpm.plist

执行完以上命令,可以用这个调试命令,来看看是否加载了启动项:

launchctl list | grep php

输出:

-0php-fpm

中间的数字是状态码,如果是0说明已经成功了,这时服务已经启动了;

如果不是0,就可能有问题了。

我开始在命令

sudo chown root:owner ~/Library/LaunchAgents/org.php.php-fpm.plist

中没有指定root,而是另一个我常用的用户,但是得到的状态是:78。

还有一点要注意:执行 launchctl 命令加 sudo 与不加结果是完全不同的。

2018-04-27继续尝试

之前的配置还是没有成功,不知道是不是因为权限的问题!

1、新建文件 /Library/LaunchDaemons/org.macports.php-fpm.plist,参考:org.macports.nginx.plist ,删除了pid的部分。

/p>

"http://www.apple.com/DTDs/PropertyList-1.0.dtd" >

Labelorg.macports.php-fpm

ProgramArguments

/opt/local/bin/daemondo

--label=php-fpm

--start-cmd

/usr/sbin/php-fpm

;

--pid=fileauto

KeepAlive

2、修改权限 使可以直接使用 php-fpm 启动

sudo chmod 777 /usr/local/var/log/php-fpm.log

sudo chmod 777 /usr/local/var/log/www.access.log

3、直接使用 launchctl load -w org.macports.php-fpm.plist 加载

加载后,执行 ps -ef | grep php 得到

501  2622     1   0 11:05上午 ??         0:00.01 /opt/local/bin/daemondo --label=nginx --start-cmd /usr/sbin/php-fpm ; --pid=fileauto

launchctl list | grep php

2644

2

org.macports.php-fpm

-

70

php-fpm

2018-04-28

1、服务是启动了;但是:

launchctl list | grep php

-70php-fpm

之前配置的还是没有启动成功;

2、修改:sudo vi /Library/LaunchDaemons/org.macports.php-fpm.plist

把文件中的nginx 改为 php-fpm

2018-05-02

执行 launchctl list | grep php和sudo launchctl list | grep php 看到的是不同的结果,

$ launchctl list | grep php

311670php-fpm

$ sudo launchctl list | grep php

Password:

31202org.macports.php-fpm查看进程

$ ps -ef | grep php

0 140 1 0 8:49上午 ?? 0:01.59 /usr/sbin/php-fpm

501 155 140 0 8:50上午 ?? 0:00.26 /usr/sbin/php-fpm

501 156 140 0 8:50上午 ?? 0:00.02 /usr/sbin/php-fpm

501 3104 140 0 10:42上午 ?? 0:00.01 /usr/sbin/php-fpm

0 3158 1 0 10:45上午 ?? 0:00.01 /opt/local/bin/daemondo --label=php-fpm --start-cmd /usr/sbin/php-fpm ; --pid=fileauto

501 3163 580 0 10:45上午 ttys000 0:00.00 grep --color php似乎是两种都启动成功了。

================================

关于上述启动文件的目录,/Library/LaunchAgents,还有个关联位置:/Library/LaunchDaemons/。当没有生效的时候,可以查看一下这个plist文件,不如换个位置试试。mac系统中,有几个类似的位置,功效是不同的。在本例中,建议大家使用~/Library/LaunchAgents/。

LaunchDaemons和LaunchAgents功能区别对比:LaunchDaemons是用户未登陆前就启动的服务(守护进程)。LaunchAgents是用户登陆后启动的服务(守护进程)。

你可能感兴趣的:(mac,开机启动php)