1

私のローカル マシンでは、次のように exec コマンドを使用しています。

 if($serverHost == "api.frapi") 
 {
     $phpBianryPath='/Applications/MAMP/bin/php/php5.4.10/bin/php';
 }
 else
 {
     $phpBianryPath='/usr/bin/php';
 }

 $logDir= dirname(__FILE__). '/BackgroundTask';                
 exec("$phpBianryPath $logDir/notificationCall.php $token >> $logDir/log_file.log 2>&1 &");

私のローカルマシンでは完璧に動作しますが、本番サーバーにアップロードしてから使用しようとすると、次のようなエラーが発生します。

sh: /var/www/html/example/src/frapi/custom/Action/BackgroundTask/log_file.log:
Permission denied

これについて教えてください。本番環境で動作しない理由がわかりませんか?

4

1 に答える 1

6

そのファイルを実行するために必要な権限がありません。スクリプトを実行しているサーバーに Linux がある場合は、chmod コマンドを使用してファイルのアクセス許可を変更します。

chmod 0764 /var/www/html/example/src/frapi/custom/Action/BackgroundTask/log_file.log

4 = 読み取り;

2 = 書き込み;

1 = 実行。

読み取り+書き込み+実行 = 4+2+1 = 7;

764 は、所有者の rwx、グループの rx、その他の r を意味します。

詳細なドキュメントについては、https ://help.ubuntu.com/community/FilePermissions を参照してください。

于 2013-09-07T10:57:25.900 に答える