这是我的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