es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tamaño de memoria permitido agotado en la selección de la base de datos.

Mi situación es: tengo un cliente con 3 departamentos. Los 3 están ejecutando los mismos scripts (php), pero tienen su propia base de datos.

Tengo un servidor de desarrollo, un servidor de pruebas y un servidor de producción. En el servidor de desarrollo y el servidor de pruebas todo está bien. Pero en el servidor de producción en 2 empresas el script funciona bien, pero en el tercero obtuve el error:

Tamaño permitido de memoria de 134217728 bytes agotado (intentado asignar 32 bytes).

Regresé el script a una sola consulta:

SELECT *, CONCAT(land,-‘,’,postcode,’ ‘,plaats) AS woonplaats
FROM bedrijven
WHERE verwijderd=”
AND CONCAT_WS(‘|’,naam,toevoeging,faktuurtav,straat,postcode,plaats,telefoon,telefax,mobiel,emailadres,internet,emcpersoon,kvknummer,btwnummer,banknummer,opmerkingen) LIKE ‘%’

Si ejecuto la consulta en phpmyadmin: obtengo un resultado normal. Pero en el script obtengo el error. ¿Alguna idea de cuál podría ser el problema?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Posible solución para el error de agotamiento de la memoria en el script de PHP

    El mensaje de error “Se ha agotado el tamaño de memoria asignado de 134217728 bytes” sugiere que el script de PHP está utilizando demasiada memoria y superando el límite establecido en el archivo de configuración php.ini. Aquí se presentan algunas posibles soluciones a este problema:

    1. Aumente el valor de memory_limit en el archivo php.ini a un valor más alto, como 256M o 512M. Esto debería proporcionar más memoria para que el script de PHP se ejecute sin llegar al límite.
    2. Compruebe si hay fugas de memoria en el código PHP que están causando un uso excesivo de memoria. Esto se puede hacer mediante el uso de una herramienta de perfilado de memoria como Xdebug o Blackfire, que puede ayudar a identificar las partes del código que utilizan la mayor cantidad de memoria.

    3. Intente optimizar la consulta SQL agregando índices a las columnas relevantes y minimizando la cantidad de registros devueltos. Esto puede reducir la cantidad de memoria necesaria para procesar la consulta.

    4. Compruebe si hay diferencias en los esquemas o datos de la base de datos entre el tercer departamento y los otros dos departamentos que podrían estar causando el problema. Asegúrese de que las tablas y columnas existan en las tres bases de datos y que tengan los mismos tipos de datos y restricciones.

    5. Considere dividir el script en partes más pequeñas y manejables que se puedan ejecutar en lotes o de forma asíncrona. Esto puede reducir la huella de memoria y mejorar el rendimiento.

    Al solucionar y abordar estos problemas potenciales, esperamos resolver el error de agotamiento de memoria y asegurar que el script de PHP se ejecute sin problemas en las bases de datos de los tres departamentos.

Comments are closed.