- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Linuxコマンドのパス取得方法)
Linuxコマンドのパス取得方法とは?
このQ&Aのポイント
- Linuxコマンドのパス取得方法について教えてください。
- PHPから実行するLinuxコマンドにはパスが必要ですが、CRONで実行するとパスが取得できない問題があります。
- どのようにすればCRONで実行してもパスを取得できるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
cronを使う上で重要なことを忘れていませんか? cronでは環境変数をすべて未定義の状態で実行します。PATHすら定義されていません。 よって、PATH上のコマンドの検索するwhichやwhereisは意味がありません。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
Linux なのか FreeBSD なのかはっきりさせてほしい. あと, whereis がどこからファイルを探すのかも確認すること.
質問者
お礼
結局これといった解決法がありませんでしたので、コマンドをフルパスで定義してIPで振り分けることにしました。ありがとうございました!
質問者
補足
早速ご回答いただきましてありがとうございます! FreeBSDです。失礼しました。。 そしてwhereisではなくwhichの方を使わないといけないことに気が付きました。確認不足ですいませんでした。。
お礼
結局これといった解決法がありませんでしたので、コマンドをフルパスで定義してIPで振り分けることにしました。ありがとうございました!
補足
アドバイスいただきましてありがとうございます! そのようなことがあるとは知りませんでした。。大変勉強になりました。 ちなみにCentOS5.6で試してみたところ、CRONでもwhichコマンドの結果が取得できることが確認できました。 これはFreeBSDとLinuxの違いなのでしょうか。。 結局実現したいことは、サーバー環境が違ってもwgetとlhaをPHPから実行したいのですが、このような場合どのようにするのが一般的でしょうか?もちろんそれらのコマンドが利用可能であることが前提です。よろしくお願いします。