通过PHP执行循环bash脚本,而不会中断服务器功能

时间:2015-08-07 19:46:08

标签: php bash apache

我有一个带有登录页面的apache服务器,我想传递登录时提供的凭据来验证发送到服务器的文件的上传。我对这个很新。

当我将文件上传到服务器时,它会以500代码响应。我认为问题在于autoupload.sh,因为当我注释掉upload.php的第3行时,错误代码停止并且上传到服务器工作,但现在文件永远不会上传到外部服务。

autoupload.sh指向监视器以查看添加到/uploads/目录的文件,将它们上传到Web服务,然后在完成时在本地删除它们,然后退出。

index.php是一个看起来像

的表单
<form action="uploadpage.php" method="POST">
<input name="field1" type="text"/>
<input name="field2" type="password"/>
<a href='/tmp/data.txt></a>
//html content
//more html content

uploadpage.php包含另一种形式:

`<form action="upload.php" class="dropzone" id="my-dropzone"></form>
//more html and css`

upload.php看起来像:

`$old_path=getcwd(); //preserve working directory
chdir('/path/to/dir/');
shell_exec("./autoupload.sh $_POST['field1'] $_POST['field2']");
chrdir($old_path);
//other stuff`

最后autoupload.sh看起来像:

user=$1
pw=$2
while IFS= read -r file; do
curl -u $user:$pw -T "/path/to/$file" https://web@site.com && rm -f "path/to/$file"
exit 1
done < <(inotifywait -m q -r -e MOVED_TO --format '%f' /var/www/html/uploads/)

0 个答案:

没有答案