PHPが実行するcurlコマンドを含むスクリプトがあります。
/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\");"
これはカールを呼び出しません(呼び出されませんecho
)。これはすべてrootとして実行されます。スクリプト(> /tmp/curl.log)でカールの出力をキャプチャしようとしていますが、何も起こりません。私はカールパス全体を試してみました。私は完全に迷子になった。私は何が間違っていましたか?
答え1
次のように、スクリプト内のカール呼び出しにフルパスを追加します。
/usr/bin/curl -d"credentials=foobar" -d"title=$サーバーダウン"https://notifi.it/api