我有一个简单的上传表单,以下是开始和结束标签:
<form action="post.php" method="post" enctype="multipart/form-data">
</form>
我在提交时遇到了500内部服务器错误。Apache日志显示以下条目(主机名和IP已隐去):
[Tue Feb 14 00:08:32 2012] [error] [client xxx.xxx.xxx.xxx] ModSecurity: Input filter: Failed to create temporary file: /root/tmp/20120214-000832-TznsTkPj2kkAAE5LYREAAAAB-request_body-xqZDkt [hostname "xxxxxxxxxx.com"] [uri "/app/221/product/post.php"] [unique_id "TznsTkPj2kkAAE5LYREAAAAB"]
[Tue Feb 14 00:08:37 2012] [error] [client xxx.xxx.xxx.xxx] ModSecurity: Input filter: Failed to delete temporary file: /root/tmp/20120214-000832-TznsTkPj2kkAAE5LYREAAAAB-request_body-xqZDkt [hostname "xxxxxxxxxx.com"] [uri "/app/221/product/post.php"] [unique_id "TznsTkPj2kkAAE5LYREAAAAB"]
我搜索了代码,没有任何提到
root
或upload_tmp_dir
的地方。所有代码文件都属于应用程序用户和组。在php.ini
中,upload_tmp_dir
最初未设置,我现在已将其设置为/tmp
,但这并没有解决问题。
有什么想法是为什么它试图上传到/root/tmp
吗?
var_dump(ini_get('upload_tmp_dir'));
从文档来看,全局的php.ini是唯一可以设置该值的地方。 - quickshiftin字符串(5) "/tmp/"
- HyderA