[risolto]PHP/Apache schiantarsi sulla sceneggiatura (Segmentation fault (11)
Sono in esecuzione uno script PHP (con qualche include) su localhost che blocca di continuo prima della fine.
errore segnalazione è su Opera, Safari e Firefox restituiscono uno schermo vuoto Ma torna Chrome:..
Unable to load the webpage because the server sent no data. Error code: ERR_EMPTY_RESPONSE
Apache registra rendimenti:
[Sun Dec 15 19:29:23 2013] [notice] child pid 34267 exit signal Segmentation fault (11)
Utilizzo del PHP 5.5.6 quando ho riscontrato il problema per la prima volta Dopo il downgrade a PHP 5.4.21 il problema persiste.
Il problema non è all'interno dello script. Commentare casualmente un paio di 50 righe di codice risolve il problema. Mi chiedo se la mia sceneggiatura potrebbe essere troppo lunga per l'esecuzione.
Qualcuno ha qualche suggerimento su come posso risolvere questo problema?
UPDATE:
problema non appare non solo sul localhost, ma anche sul mio webserver in esecuzione su CentOS 6.4 e PHP 5.3.3 dando lo stesso errore su Apache.
[Sun Dec 15 23:15:10 2013] [notice] child pid 18409 exit signal Segmentation fault (11)
UPDATE2:
esecuzione di PHP da linea di comando dà:
$ php index.php Fatal error: Call to undefined function mcrypt_create_iv() in Encrypt.class.php on line 135
Dopo aver posizionato un commento prima linea 135 su Encrypt.class.php
$ php index.php
Segmentation fault: 11
UPDATE3: (Soluzione)
Dopo aver eseguito l'indice sulla riga di comando con strace (strace php index.php) ho trovato il problema in una delle query.
Dopo un po 'di debug (usando PDO invece della mia classe) ho scoperto che il problema era impostare la mia opzione PDO "ATTR_PERSISTENT => true". Disabilitare questa opzione ha risolto il mio problema.
Provare a eseguire lo script dalla riga di comando. Se genera un errore di segmentazione, la tua versione di PHP deve essere reinstallata. Se viene eseguito correttamente dalla riga di comando, probabilmente dovresti reinstallare Apache. Quale riga di codice lancia esattamente questo errore. Lo sai? –
@MisterMelancholy che esegue il file sulla riga di comando restituisce un errore "Errore irreversibile" alla funzione non definita mcrypt_create_iv() in Encrypt.class.php sulla riga 135. Questa funzione funziona correttamente nel browser. Nessuna riga specifica dà l'errore. – webecreative
Quando hai eseguito il downgrade di PHP, sei sicuro che anche tutti i file .so di estensione sono stati declassati? Forse stai usando un'estensione di mcrypt di PHP 5.5 con PHP 5.4 o 5.3 (e non lo includo affatto in qualsiasi php.ini di cui la tua CLI legge) – Brad