- 締切済み
phpからサーバー上のcronにジョブ登録したい
プログラミング初心者です。 【ウェブブラウザでphpファイルを開くと、レンタルサーバーのcronにジョブ登録される】ようにしたいのですが、上手く行きません。 下記記述に不備はありますでしょうか? <?php $cron = popen("/usr/bin/crontab -", "w"); $line = "51 22 13 11 * /usr/bin/php /home/userid/public_html/絶対パスでファイルの場所/ファイル.php"; fwrite($cron, $line); pclose($cron); ?> ※テストとして 11/13 22:51 に実行するような記述をしていました。 諸々検索もしたのですが、レンタルサーバー上にphpでジョブ登録するような事例がなく… お力添えください。宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10358)
> ・エラーログを吐くコマンド(これ並行して調べてみます) PHPプログラムの始めの方で、 ini_set('display_errors', 1); > ・共用レンタルサーバーのcronにジョブ登録するコマンド サービスによって違うと思います。できない可能性もあります。 できるとしたら、お書きのプログラムでできるはずですが。
- notnot
- ベストアンサー率47% (4900/10358)
> 下記はphpファイルで実行して確認するものでしょうか… そうです。system関数、知りませんでしたか? PHPの外部のコマンドを実行する関数です。 > エラーを表示する方法も分からず記載しておりました。 https://www.google.com/search?client=firefox-b-d&q=PHP+%E3%82%A8%E3%83%A9%E3%83%BC%E8%A1%A8%E7%A4%BA
補足
>そうです。system関数、知りませんでしたか? >PHPの外部のコマンドを実行する関数です。 ですね、WPで使用するPHPをオンジョブで学んでるレベルです。 ご回答頂いてる立場で大変恐縮なのですが、私のレベルが低く理解できず… ・エラーログを吐くコマンド(これ並行して調べてみます) ・共用レンタルサーバーのcronにジョブ登録するコマンド 上記をご教示頂けないでしょうか? 何卒よろしくお願い申し上げます。
- notnot
- ベストアンサー率47% (4900/10358)
共用レンタルサーバーですよね。 PHPの実行のされ方によって違うと思います。 system("/usr/bin/id"); もしくは system("/bin/id"); で表示される、 uid=数字(ユーザ名) のユーザ名部分は自分のIDですか? あと、エラーを表示するようにして、何かエラーは出ますか?
お礼
ご回答ありがとうございます。 仰るとおり、共有レンタルサーバーです。 すいません、下記はphpファイルで実行して確認するものでしょうか…?全く理解できておらず。。 system("/usr/bin/id"); もしくは system("/bin/id"); で表示される、 uid=数字(ユーザ名) 下記のuseridはサーバー情報に記載のあるものです。 home/userid/public_html/絶対パス エラーを表示する方法も分からず記載しておりました。 こちら並行して調べたいと思います。 度々恐縮ですが、引き続きお力添え頂けますと大変嬉しいです。
お礼
ご回答ありがとうございます! なるほどー、cronにジョブ登録できない共用サーバーもあるんですね…。