我有一个带有curl命令的脚本供php执行:
/root/notify-down-script.sh
#!/bin/bash
echo "test" > file
curl -d "credentials=foobar" -d "title=$server down" https://notifi.it/api
我可以从命令行执行:
/usr/bin/php -r "echo shell_exec(\"/root/notify-down-script.sh test\");"
效果很好。当我添加到 cron 时:
* * * * * /usr/bin/php -d safe_mode=Off -r "echo shell_exec(\"/root/notify-down-script.sh test\");"
这不会调用curl(不会调用echo
)。这一切都是以 root 身份运行的。我试图捕获脚本中curl 的输出(> /tmp/curl.log),但没有任何反应。我尝试做完整的卷曲路径。我完全迷失了。我究竟做错了什么?
答案1
尝试在脚本中添加curl 调用的完整路径,如下所示:
/usr/bin/curl -d“credentials=foobar”-d“title=$server down”https://notifi.it/api