2012-01-05 20 views
14

Estoy tratando de cargar archivos grandes a mi servidor (mi servidor admite post_max_size 192mb y max_execution_time 600 seg). Cuando cargo archivos de 100 Mb, la ejecución se detiene después de 600 segundos, por lo que los archivos no se cargan en el servidor. ¿Cómo puedo aumentar max_execution_time en PHP (solo para el proceso de carga de archivos)? Lo he intentado:¿Aumenta max_execution_time en PHP?

ini_set ('max_execution_time', 1200); 
if(move_uploaded_file($_FILES['Video']['tmp_name'],$tmppath)) { 
    // ... 
} 

¿Alguna idea de cómo puedo solucionar esto?

+1

¿Qué * exactamente * sucede después de 600 segundos? ¿Qué mensaje de error recibes? El tiempo de carga no cuenta contra el límite de tiempo de PHP –

+1

Pruebe ['set_time_limit()'] (http://php.net/manual/en/function.set-time-limit.php) – bfavaretto

+0

@Ajay Chthri: para cargar algunos archivos de gran tamaño que puedes probar con algunos cargadores como java applet uploader –

Respuesta

5

Hay una configuración max_input_time (en Apache) para muchos servidores web que define cuánto tiempo esperarán los datos de la publicación, independientemente del tamaño. Si se acaba este tiempo, la conexión se cierra sin tocar el php.

Por lo tanto, su problema no se puede solucionar necesariamente con php solamente, pero también deberá cambiar la configuración del servidor.

+0

sí ... cuando el tiempo expire, la secuencia de comandos no puede funcionar –

+0

recién ahora miro el soporte de mi servidor max_execution_time 30 minutos pero cuando cargo el archivo el proceso de 30 mb se parará después de 10 mentas (las consultas son no ejecutar) –

+0

No es el tiempo de ejecución del que debe preocuparse, es el tiempo de entrada. Si pudieras subir esos 30mb en menos de 10min, se ejecutaría. Si solo subiera 200kb y necesitara 11 minutos, tampoco funcionaría. No depende de tu tamaño de archivo ni del tiempo de ejecución en este momento, depende del tiempo que necesites para cargar el archivo. – bardiir

28

añadir esto a un archivo .htaccess:

<IfModule mod_php5.c> 
    php_value post_max_size 200M 
    php_value upload_max_filesize 200M 
    php_value memory_limit 300M 
    php_value max_execution_time 259200 
    php_value max_input_time 259200 
    php_value session.gc_maxlifetime 1200 
</IfModule> 

Más información acerca de los ajustes en http://www.pacecode.com/blog/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-expiry-time-and-file-upload-size-limit

EDITAR

Parece que el contenido del artículo original se reproduce aquí : http://www.rajamm.info/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-expiry-time-and-file-upload-size-limit

+1

Enlace hacia abajo ............................ – Pacerier

+0

Gracias, actualizado. –

+0

O simplemente cambie estos valores directamente en su archivo 'php.ini'. –

4

si tiene acceso a WHM puede realizar estos pasos:

En algún momento, es probable que necesite ajustar las opciones de configuración de PHP. En lugar de editar manualmente el archivo PHP.ini, puede hacerlo desde dentro de WHM. 1) Encuentre el menú de configuración del servicio.

enter image description here

2) Haga clic en Editor de configuración de PHP. enter image description here

Este editor tiene dos modos: básico y avanzado. Para tener acceso a la gama más completa de opciones, deberá usar el modo avanzado. Está disponible haciendo clic en el botón en la parte superior de la página.

enter image description here

Recomendamos que espere a cambiar cualquiera de los ajustes avanzados hasta que esté seguro de lo que estás haciendo. Si alguna vez desea obtener más información acerca de una configuración, haga clic en un enlace en la columna de Sección que lo llevará a la documentación de PHP. La primera opción en el modo básico es upload_max_filesize, que limita el tamaño máximo de un archivo cargado a través de PHP. Esta opción afectará al sistema de archivos adjuntos o de carga de una amplia variedad de software que probablemente se ejecute en su servidor, incluidos Joomla y vBulletin. Es probable que desee cambiar esto a algo bastante más alto que el predeterminado. Especifique un tamaño en megabytes utilizando un número seguido de M. . Raramente necesitará cambiar el include_path del valor predeterminado. Además de limitar el tamaño máximo de carga, también puede desactivar la carga de archivos con la configuración file_uploads. Algunos programadores de PHP tienen la mala costumbre de usar etiquetas taquigráficas, que no están habilitadas en muchos servidores. Esto significa que sus scripts no funcionarán. Habilite asp_tags si encuentra scripts que requieren ese tipo de etiqueta.

enter image description here

Con memory_limit, se puede imponer un límite en la cantidad de memoria que un script PHP en particular puede utilizar en cualquier momento dado. No se recomienda habilitar register_globals a menos que sea absolutamente necesario. Es la fuente de muchos problemas de seguridad y se eliminará por completo cuando se lance PHP 6. La configuración max_execution_time evita que los scripts mal escritos bloqueen el servidor. Por defecto, esta opción está configurada en 30 segundos; no pongas esto demasiado alto, o el rendimiento de tu servidor puede sufrir. De forma similar, max_input_time impone un límite al tiempo que un script tiene permiso para analizar datos de entrada, como formularios y cargas de archivos.

enter image description here

Con enable_dl, todos los usuarios pueden incluir extensiones PHP a voluntad. Esto representa una posible violación de seguridad, por lo que debe desactivarlo a menos que sea absolutamente necesario. safe_mode es otra opción de PHP que se eliminará con el lanzamiento de PHP 6. Es en gran medida ineficaz, y probablemente debería dejarse. La última opción, session.save_path, controla dónde se guardan las sesiones de PHP. El valor predeterminado debería estar bien para la mayoría de los propósitos.

enter image description here

Si desea cambiar esta opción, tendrá que hacer clic aquí para que aparezca el campo de texto. 3) Cuando haya terminado, haga clic en Guardar.

enter image description here

El archivo php.ini se ha escrito de forma automática.

enter image description here

Este es el final del tutorial. Ahora sabe cómo configurar PHP desde dentro de WHM.

0

Para aumentar el tiempo de ejecución y el tamaño del archivo, debe mencionar los siguientes valores en su archivo .htaccess. Funcionará.

php_value upload_max_filesize 80M 
php_value post_max_size 80M 
php_value max_input_time 18000 
php_value max_execution_time 18000 
Cuestiones relacionadas