为什么在使用exec命令时(在写入日志文件时)权限被拒绝?

时间:2013-09-07 08:53:59

标签: php exec permission-denied logfile

在我的本地机器上,我使用了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

请指导我。我不明白为什么它不在生产中?

1 个答案:

答案 0 :(得分:3)

您没有执行该文件的必要权限。 如果您运行脚本的服务器有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