Ho uno script PHP che, mentre una cartella contiene file XML, li elaborerà nel database.
Attualmente, il server esegue PHP versione 5.3.10 e c'è una segnalazione di bug su problemi di memoria innescati da ZEND_MM_HEAP
un ciclo.
Questo fa sì che il PHP non liberi correttamente la memoria, causando così un errore e un arresto anomalo dello script:
zend_mm_heap is corrupted
Sono state trovate alcune soluzioni , ma non ho accesso alle impostazioni del server.
Per far fronte a questo, ho preparato il seguente script bash per occuparmi del ciclo, lasciando lo script PHP responsabile solo elaborando il file XML:
#!/bin/bash
# Check for files to process
# If files are present, call
# the PHP script
DIR="/path/to/dir/with/files"
while [ "$(ls -A $DIR)" ]; do
php /path/to/php/script/myscript.php
done
Il mio obiettivo ora è avere questa allocazione di memoria bash limitata (memoria e memoria virtuale), impedendo così di bloccare il sistema se qualcosa va storto.
La mia domanda è:
come posso limitare la memoria utilizzata da questo script di shell a un importo specifico?
export USE_ZEND_ALLOC=0
.