【问题标题】:file_put_contents over shell execute failsshell 上的 file_put_contents 执行失败
【发布时间】:2013-01-11 09:47:35
【问题描述】:

你好,我有一个 php 文件,其中包含一些数字运算并从像这样的不同 php 文件中调用

$exc = "nohup nice php -f " . PATH . "/download.phtml $data $data1 $data 1>/dev/null & echo $!";

在那个文件中,我有一个这样的 file_put_contents 函数调用

if(file_put_contents(PATH."/tmp/generated/".$queue->output_value, $data)){
                        $queue->saveData();
                    }else{
                       // write down the file path
                    }

在我的测试台上一切都很好。但是像往常一样,当我把它放在 live rig 上时它失败了......文件写入失败。

我仔细检查了路径是否 100% 正确,并且写入的文件夹设置为 777(只是为了让它工作) 但是仍然没有午餐失败写入失败......

我听说过 umask,但我不确定它是否适用于 shell 执行的命令....

欢迎提出建议。

ps。工作平台是 Debian。

【问题讨论】:

标签: php shell shell-exec


【解决方案1】:

感谢所有遇到此错误的人。

如果您将文件夹的权限更改为 777 并且它不允许您创建文件并且 umask 功能对...没有帮助...那么您可能会被困在

www-data 用户运行进程,除了在他的域中之外,不能在任何地方写... sux ha?

所以您需要通过以下操作更改您的文件夹

chown -R www-data.www-data /location of the folder....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多