«
宝塔面板使用WWW用户执行计划任务命令 解决laravel、ThinkPHP等日志权限问题 宝塔设置计划任务执行用户

时间:2022-12-10    作者:思远网    分类: PHP


问题背景

宝塔面板的计划任务默认执行用户是root,如果任务里有打印日志的操作,则自动创建的log文件也是root用户权限,而php的运行用户是www,对root用户创建的文件默认没有写权限,进而导致程序报错。

问题场景

此问题常见于laravel、FastAdmin等框架系统。

解决方案

可以使用 su -c 和 -s 搭配操作,为计划任务指定执行用户,来解决此问题。

su -c " {你要执行的命令} " -s /bin/sh 使用的用户
// 示例:
su -c " php artisan schedule:run " -s /bin/sh www

aravel ThinkPHP WWW 宝塔面板 日志 权限 用户 计划任务