Se ignoran los cambios de tamaño de carga máximo en php.ini. ¿Cómo eliminar el límite de tamaño de carga?

2

Estoy trabajando en una instalación de WP multisitio y necesito importar contenido de otros sitios de Wordpress (archivos .wxr ). Cuando uso el complemento Importar WordPress obtengo lo siguiente:

Eltamañomáximodecargapermitidoessolo1MB,mientrasqueconfiguro100MBenmiphp.ini.Unallamadaaphpinfo()dicequelosvaloresde.inidebenaplicarse:

¿Qué está mal allí? Leí la mayoría de los resultados de búsqueda de upload_max_filesize en este sitio , pero ninguno funciona.

Nota: Esto solo sucede con Wordpress. Tengo sitios Symfony2 y puedo cargar archivos con un tamaño de 100 MB y más, así que sí, es la configuración correcta de php.ini y el servidor Apache los aplica correctamente.

Escribiendo el complemento de Wordpress MU

Después de la sugerencia de @kaiser , he creado un archivo /wp-content/mu-plugins/uploadSizeLimit.php y lo escribí en él:

/** Plugin Name: (WPSE) #177620 Alter Upload Size Limit */
add_filter(
    'upload_size_limit',
    function ( $limit = 0, $u_bytes = 0, $p_bytes = 0 ) {
        return 
               current_user_can( 'manage_options' ) 
               ? 1024 * 1024 * 10 // Divert by 1024 to get the value in kB
               : $limit;
    }
);

¿Cómo uso esto para lograr lo que necesito?

    
pregunta ReynierPM 10.02.2015 - 01:10

2 respuestas

5

Gracias @kaiser pero no necesito revisar tu solución, encontré una fácil y la compartiré para los novatos que me gustan.

Si estás trabajando en un sitio de WP Network, los pasos son:

  1. En la parte superior, desplácese sobre Mis sitios y luego haga clic en Administrador de red.
  2. A la izquierda, desplace el mouse sobre Configuración y luego haga clic en Configuración de red.
  3. Desplácese hasta la parte inferior de la página y cambie el tamaño máximo del archivo de carga a lo que desee en KB.
  4. Haz clic en Guardar cambios.

Al establecer ese valor en 500000 obtuve 500M como max_file_size upload. Los créditos son para el usuario aquí

    
respondido por el ReynierPM 11.02.2015 - 00:25
1

Hay un filtro llamado 'upload_size_limit' donde debería poder cambiar el valor. Solo agregue un pequeño complemento de mu para ese trabajo:

<?php
/** Plugin Name: (WPSE) #177620 Alter Upload Size Limit */
add_filter( 'upload_size_limit', function( $limit = 0, $u_bytes = 0, $p_bytes = 0 )
{
    return (
        in_array( get_current_screen()->base, array( /* Add Screen "base"s here */ )
        and current_user_can( 'manage_options' )
    )
        ? 1024 * 1024 * 10 // Divert by 1024 to get the value in kB
        : $limit;
} );

Como puede ver, también verifico una propiedad get_current_screen() s llamada base . También puede verificar diferentes propiedades, pero asegúrese de limitar las pantallas en las que la eliminación / modificación del límite predeterminado se aplica a las pantallas en las que realmente lo necesita.

    
respondido por el kaiser 10.02.2015 - 09:19

Lea otras preguntas en las etiquetas