为什么创建的cron(php artisan schedule:run)会报错,但是手动运行是好的

系统

Mac OS Big Sur

Laravel version

5.7

php version

7.3

执行过程

crontab -e
* * * * * cd /Users/original/Sites/crm && php artisan schedule:run >> /tmp/log.log

日志输出:

为什么的cron(php artisan schedule:run)会报错,但是手动运行是好的

但是我手动运行php artisan schedule:run是好的,
日志里面的sql我运行也是有记录的。

为什么的cron(php artisan schedule:run)会报错,但是手动运行是好的

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

一个可能的原因是没指定用户。

另一个可能的原因是你的 系统里有好几个php,建议在cron 里指定 php这个命令的绝对路径 ,比如

* * * * *  root /usr/bin/php /Users/original/Sites/crm/artisan schedule:run >> /tmp/log.log

root 是用户,当然最好改成nginx里配置的那个用户

1年前 评论
ErzaQ (楼主) 1年前
讨论数量: 5
* * * * *  php /Users/original/Sites/crm/artisan schedule:run >> /tmp/log.log
1年前 评论

应该是php链接不到数据库 看一下php.ini中配置项配置的mysql文件路径是否存在 找到相应的.sock文件,并设置php.ini文件中的pdo_mysql.default_socket的值为.sock文件的路径。

pdo_mysql.default_socket= /usr/local/mysql/mysql.sock

mysqli.default_socket =/usr/local/mysql/mysql.sock

1年前 评论

一个可能的原因是没指定用户。

另一个可能的原因是你的 系统里有好几个php,建议在cron 里指定 php这个命令的绝对路径 ,比如

* * * * *  root /usr/bin/php /Users/original/Sites/crm/artisan schedule:run >> /tmp/log.log

root 是用户,当然最好改成nginx里配置的那个用户

1年前 评论
ErzaQ (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!