drupal 8 – Drupal evita que el archivo se guarde en la carga fragmentada debido al tamaño máximo de carga de php.ini

Pregunta:

Me encuentro con un problema complicado con mi widget de archivo personalizado (que amplía el widget de archivo central). Divide archivos para que no tenga que subir upload_max_filesize y post_max_size en php.ini, y los pone juntos. El problema es que, aunque los archivos ahora existen de forma remota (y también se han guardado como entidades de archivo en Drupal), se niega a guardarlos en el campo, porque aunque la configuración del campo de archivo está configurada en 500 MB, las cargas de php.ini son con un máximo de 20 MB.

El problema está en FileItem.php:

public function getUploadValidators() {
  $validators = array();
  $settings = $this->getSettings();

  // Cap the upload size according to the PHP limit.
  $max_filesize = Bytes::toInt(file_upload_max_size());
  if (!empty($settings['max_filesize'])) {
    $max_filesize = min($max_filesize, Bytes::toInt($settings['max_filesize']));
  }

  // There is always a file size limit due to the PHP server limit.
  $validators['file_validate_size'] = array($max_filesize);

  // Add the extension check if necessary.
  if (!empty($settings['file_extensions'])) {
    $validators['file_validate_extensions'] = array($settings['file_extensions']);
  }

  return $validators;
}

Que llama file_validate_size en file.module. Ya intenté usar ini_set () para cambiar los valores de ini del tamaño del archivo, pero eso no parece funcionar.

Entonces, para recapitular:

Drupal tiene el archivo

Mi widget le dice que guarde el archivo por su ID de archivo para el campo de archivo

Drupal me dice que no guardará el archivo que ya tiene debido a los límites de carga de archivos php


¿Alguien puede pensar en algo que pueda hacer para solucionar esto sin modificar el núcleo?

Respuesta:

Solo una suposición, pero esto puede tener algo que ver con max_file_uploads en php.ini. ¿Quizás dividirlo cuenta como varios archivos?

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım