php删除shell脚本的输出文件(脚本通过php运行)

时间:2017-01-04 06:33:13

标签: php bash shell

这是我的php代码

<?php
    $output=$_POST["code"];
    $my_file = '/opt/lampp/htdocs/trans/output/code.c';
    file_put_contents($my_file, $output);
    chmod($my_file, 0777);
    $outpu=shell_exec('./my.sh "{$my_file}"');
?>

my.sh是一个编译几个cpp文件并生成目标文件的脚本。 这个脚本大约需要78秒才能执行。

我的问题是如果脚本是手动执行的,它会成功生成目标文件。当它通过php运行时,生成目标文件(我通过在另一个终端中执行&#39; ls&#39;找到它)但是当php执行停止时,它会自动删除生成的目标文件。

PS: - 我没有写任何&#39; rm&#39;脚本中的命令。      我已设置所有权限以及延长PHP超时。

my.sh包含

if [ -f "objectfile" ]
then
echo ""
else
GPP=`which g++`
$GPP -g ../../../../../../someHeader.h  ../../../../../../someCPP.cpp ../../../../../../someCPP.cpp../../../../../../someHeader.h  -I ../../../../../../someInclude -L ../../../../../../someLib  -o  objectfile 

fi
./objectfile

0 个答案:

没有答案