2017-08-22 10 views
1

さて私は、bashのファイル実行するcron持っている:私がすれば、error_logには動作しません

#!/bin/bash 

for n in {1..10}; do 
    /usr/bin/php /var/www/html/teste_sh.php v=$n & 
done 

しかし、このスクリプトteste_sh.php中をerror_log、それは動作しません。

このフォルダのError_logは空ですが、http://localhost/teste_sh.phpを実行すると、error_logは正常に機能します。

この場合、error_logを動作させる方法はありますか?

ありがとうございました。

答えて

1

エラーログがどこにあるのかは明確ではありませんが、許可の問題です。 CRONはあなたのユーザーのcrontabであり、rootではありません。

あなたのウェブサーバーと同じグループにユーザーを配置します(多くの場合、www-data)。

次に、WebサーバーとCRONを介して実行すると、同じグループになります。もちろん、ディレクトリ/ var/www/htmlがそのグループに属することを確認する必要があります。

ウェブグループにユーザーを追加します。

sudo usermod -a -G www-data myusername 

そして

sudo chown -R myusername:www-data /var/www/html 

ディレクトリをchownコマンドはhttps://serverfault.com/

の答えを見てみる価値があるかもしれません
関連する問題