当我上传文件到我的apache服务器时出现错误代码7

问题描述 投票:0回答:3
header("Content-Type:text/html; charset=utf-8");

if ($_FILES['test']['error'] === UPLOAD_ERR_OK){
  echo 'filename: ' . $_FILES['test']['name'] . '<br/>';

  if (file_exists('upload/' . $_FILES['test']['name']))
  {
    echo 'file exist<br/>';
  } 
  else 
  {
    $file = $_FILES['test']['tmp_name'];
    $dest = 'upload/' . $_FILES['test']['name'];

    move_uploaded_file($file, $dest);
    echo "seccess";
  }
} 
else 
{
  echo 'error code:' . $_FILES['test']['error'] . '<br/>';
}

这是我的 PHP 代码,我只是想将一个简单的小 txt 文件上传到我的 apache 服务器。 当我在 localhost 中运行它时它有效,但当我尝试使用 apache 运行时错误代码 7。

chmod -R www-data:www-data /var/www

已将www-data设置为www的所有者,磁盘空间足以保存文件。

我能做些什么来解决错误代码 7 的问题吗?

php apache
3个回答
0
投票

请检查目录是否具有

writeable
权限。该错误表明您无权在该目录中保存或写入。 另外,检查该目录的磁盘空间。

有关错误代码的更多详细信息,请参阅此链接: http://php.net/manual/en/features.file-upload.errors.php


0
投票

这也可能是您的临时文件空间不足(刚刚发生在我身上) - 这是文件上传时所在的位置。

您可以在 php.ini 文件中的以下值下找到 tmp 文件目标:

上传_tmp_dir

通常情况下,文件上传完成后,它会自行清理,但在我的情况下,我的一位管理员在那里复制了一些视频以安全保存,同时腾出更多空间,因此我可以上传小文件但不能上传大文件的症状,它一开始很困惑。

如果您的上传文件大于临时空间,也可能会发生这种情况 - 尽管我还没有测试过这一点。


0
投票

我知道这是一篇旧帖子。虽然,我通过修改selinux标志解决了错误7:

setsebool -P httpd_can_network_connect 打开

我希望任何来这里寻求解决错误curl error 7 的人都会发现这很有用。

© www.soinside.com 2019 - 2024. All rights reserved.