• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP)

PHPのクーロン設定に関する要約

このQ&Aのポイント
  • <?phpのクーロン設定を行い、一時的なファイルを作成し、ファイルの所有権を変更する作業を紹介します。
  • 作成したファイルに書き込みを行い、設定内容を保存します。
  • 一時ファイルを本番のクーロン設定にコピーし、最後に一時ファイルを削除します。

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5241/13712)
回答No.1

質問内容が書かれていませんが、何が問題なのでしょう。

akio123
質問者

お礼

ありがとうございます^_^

その他の回答 (1)

回答No.1

$tmpfname = tempnam("/var/tmp", "auto_pbxrestart"); ~~ ~~ $cmd = "/usr/bin/sudo chown 777 ".TEMP_PATH; ~~ exec($cmd, $output, $return); ~~ $cmd = "/usr/bin/sudo chown apache::apache ".TEMP_PATH: ~~ exec($cmd, $output, $return); $handle = fopen($tmpfname, "w") 質問は書かれてないのだが、 ~~のくだりいらないですよ。 最初から、テンポラリファイルを作る命令があります。 https://www.php.net/manual/ja/function.tmpfile.php 基本、execに頼るのをやめれば、解決する問題がたくさんありそうですが。 ただし、 $cmd = "/usr/bin/sudo chown apache::apache ".TEMP_PATH: これも、同じでApache権限かApacheからアクセスできる権限で作ったファイルなら、 オーナーをapacheにする必要はないですよ。 すでに「書けた」のであれば、元々apacheからアクセス権限がある状態なので。 これは、不要です。 $cmd = "/usr/bin/sudo chown 777 ".TEMP_PATH; これも、間違い、chownはオーナー変更ですが、パラメーターがパーミッション値です。 https://www.php.net/manual/ja/function.chmod.php やりたいならそもそも専用の関数があるので、そちらを使うほうが try~catchでエラーが出た時理由などもデバッガーに出るので、 より早い解決ができるかと。 という事で、使っている命令がそもそも、 違うのを治してみませんか? あと、テンポラリでクーロンを作って、ユーザー権限で動くクーロンにポーリングさせれば、 移動だの更新だのっていらないですよ。 https://qiita.com/iganari/items/5a61ec93d989f7c77a2c こっちを使えばほとんどの問題は解決すると思います。 (そもそも、PHPから/etcなどにアクセスしてる限り、  ストレスたまるだけですよ)

関連するQ&A