試して1週間後に何をすべきか分かりません。 は私がスクリプトは、ウェブサイトがその内容を引くまで開き、サーバー上のpoem.txtに保存します getpoem.phpと呼ばれる私のウェブサーバ上にあるシンプルなPHPスクリプトを持ってwww-data cronでPHPスクリプトが実行されていない
<?php
//File to extract the Poem of the day
$homepage = file_get_contents('http://SomeWebsite.com/today.php');
$poemALL = substr($homepage,strpos($homepage,"<p>"),strlen($homepage));
.
. // extracting the poem and saving it to $poemFinish
.
file_put_contents("poem.txt", $poemFinish); ?>
ので、これは非常に単純ですスクリプト(それは私が手動でそれを実行する場合は正常に動作します)。私は、このコマンドではcronをオープンしまし、それは私がgetpoem.phpと詩を与えたすべてのアクセス許可の問題を回避するために
sudo crontab -u www-data -e
0 3 * * * php /var/www/html/getpoem.php
を実行する必要があり、コマンドを入力するように、このスクリプトはそののcronでWWW-データユーザで実行する必要があります。このようなTXTはrwx権(私はときに、ライブ、私はそれを変更する必要があります知っているが、これは単なるテストにある)
-rwxrwxrwx 1 www-data www-data 1189 Aug 17 15:07 getpoem.php
-rwxrwxrwx 1 www-data www-data 1335 Aug 17 15:07 poem.txt
だから、これは設定ですが、それは実行されません。
私はこれまでに "php"を/ usr/bin/phpに変更して、cronがどのようなPHPであるかを確認しました。私はcronのは、私は
2 * * * */usr/bin/php /var/www/html/getpoem.php | > /var/www/html/test.txt
にcronジョブを変更ウィッヒを実行していたSHUREが再び何もしなかった作っていたんでした 次の事....ので、私は実行されませんでした
2 * * * */usr/bin/php /var/www/html/getpoem.php | > /tmp/test.txt
にそれを変更しました私のtmpディレクトリにtest.txtという空の(-.- ")ファイルを作成しました
私のwwwデータユーザーのアクセス権に問題があると思います。すべての私のウェブコンテンツ(phpファイル、webapp usw.)はwww -dataユーザーであり、スムーズに動作します。
www-dataのcronに特別な特権が必要ですか?
この全体の問題の悲鳴[XY問題](http://meta.stackexchange.com/質問/ 66377/what-is-the-xy-problem)を教えてください。あなたは、それが許可の問題であり、あなたがそこから行くということに基づいて推測しています。おそらくそれはおそらく許可エラーではないかもしれませんが、現時点では、SOにはあまり適していないものをランダムに推測することしかできません。 – PeeHaa
あなたが 'file_put_content'を実行するときに、' __DIR __。 '/ poem.txt''を意味する "絶対パス"を使うべきだと思っています。そうでないと、作業ディレクトリが何であるかわからないからです...スクリプト内の作業ディレクトリを設定できます。 – Jakumi
@PeeHaaええ、私はそれをはっきりさせる必要がありますcronは私のPHPファイルを実行しないでください?または私はちょうど私がすでに試みたものを削除する必要がありますか?私はなぜそれが "XYの問題"でなければならないのかわからない。 – GEnGEr