PHP文件加载错误6

zc0qhyus  于 2023-04-28  发布在  PHP
关注(0)|答案(4)|浏览(84)

我的PHP上传失败了一个error:6,但我不知道为什么。我检查了一些stackoverflow帖子中描述的所有参数,但没有解决方案。

如你所见,我得到了一个错误6。设置了所有值(TMP_DIR、SYS_TMP_DIR),但不起作用。

Apache用户有权访问服务器上的/tmp
是否有我忽略的问题?

require_once '../libs/firephp-core-0.4.0/lib/FirePHPCore/fb.php';
$tmp = getcwd()."/tmp";

ini_set('open_basedir', $tmp);
ini_set('upload_tmp_dir',$tmp);

ob_start();
fb($_FILES, "FILES");
fb(ini_get('open_basedir'), 'OPEN_BASEDIR');
$tmp_dir = ini_get('upload_tmp_dir') ? ini_get('upload_tmp_dir') : sys_get_temp_dir();
fb($tmp_dir, "TMP_DIR");
fb(sys_get_temp_dir(), "SYS-TMP-DIR");

$uploaddir =  getcwd()."/uploads/";
$uploadfile = $uploaddir . basename.basename($_FILES['x0']['name']);
fb($uploadfile, 'FILE PATH');
fb(move_uploaded_file($_FILES['x0']['tmp_name'], $uploadfile), "MOVE RESULT");
sq1bmfud

sq1bmfud1#

必须在php.ini文件中设置upload_tmp_dir配置,以便在运行脚本之前可以使用它。当脚本开始运行时,文件已经上传(或在出现错误时不上传)。
int_set('upload_tmp_dir',$tmp);
我看到您尝试设置upload_tmp_dir,但该语句执行得很晚。转到php.ini并将其设置为:

upload_tmp_dir = /tmp
klr1opcd

klr1opcd2#

问题似乎是你的临时变量不能正常工作。在php http://php.net/manual/de/features.file-upload.errors.php的这个文件之后,错误说缺少临时文件夹

ozxc1zmp

ozxc1zmp3#

在我的例子中,我没有将tmp目录放在正确的位置。我在根目录中有/tmp/,但它不是Apache要找的。因此,请检查php.ini,并确保指定的目录存在,如针对sys_temp_dir所述。
sys_temp_dir /var/www/wms/tmp

cgyqldqp

cgyqldqp4#

我在XAMPP环境下解决了我的问题
执行此命令以了解您的文件是否正常

<link to php> -i | grep "Loaded Configuration File"

the error in php.ini
然后返回一个错误,这就是为什么我找不到我的upload_tmp_dir

  • 我希望能帮助别人 👨🏻‍💻

相关问题