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 回答