我遇到了一个我无法理解的奇怪的错误。这是背景:
我设置了一个表单来上传视频文件,其大小可以从2M到6G不等。在上传一些数据库记录后,文件被上传,然后通过mode_uploaded_file移动($ media变量是表示媒体的对象,$ fichier是$ _FILES的别名):
$destination_dir = sfConfig::get($media instanceof Image ? 'app_snapshot_dir' : 'app_wowza_content_dir');
$destination_file = $destination_dir . '/' . preg_replace('/^(.+)\.(.+)$/', ('${1}' . ($media->isImage() ? '' : '_base') . '.${2}'), Media::standardize($media->getFSFileName($fichier['name'])));
$deplacement = move_uploaded_file($fichier['tmp_name'], $destination_file); // Here I get false, without any additional errors.
如果我发送的文件最多为700M,则脚本可以正常工作,但当文件较大时,move_uploaded_file部分会返回false(但没有其他信息)。
显然,我相应地设置了我的php.ini指令:
upload_max_filesize = 12G
post_max_size = 12G
max_input_time = 0
max_execution_time =0
但问题仍然存在:临时文件在这里,但它没有被移动。 PHP正在使用PHP-FPM运行,并检查目标文件夹,该文件夹具有perms 2777并且由运行php-fpm进程的用户拥有。