2017-05-25 4 views
1

Meine Anwendung hat einen Prozess, der einmal am Tag ausgeführt wird und es dauert mehr als 5 Minuten, um zu beenden.mod_fcgid: Daten lesen Timeout

Bevor es fertig ist, ich diese Fehler in der Log-Datei bekommen:

mod_fcgid: read data timeout in 301 seconds 
End of script output before headers: index.php 

ich weiß, gibt es mehrere Themen im Internet darüber, aber niemand mein Problem gelöst.

Ich habe bereits versucht, diese Änderungen:

/etc/php5/apache2/php.ini

max_execution_time = 3200 

/etc/apache2/mods-available/fcgid.conf

<IfModule mod_fcgid.c> 
    FcgidConnectTimeout 9999 
    FcgidIOTimeout 2300 
    FcgidBusyTimeout 2300 
    FcgidIdleTimeout 2300 
    BusyTimeout 2300 
    ProcessLifeTime 7200 
    IPCConnectTimeout 2300 
    IPCCommTimeout 7200 

    <IfModule mod_mime.c> 
    AddHandler fcgid-script .fcgi 
    </IfModule> 
</IfModule> 

/etc/apache2/sites-available/myapp.conf

<VirtualHost *:80> 
     ... 
     IPCCommTimeout 9999 
     IPCConnectTimeout 9999 
     FcgidIOTimeout 2300 
     FcgidBusyTimeout 2300 
     FcgidMaxRequestLen 10737418240 
     ... 
</VirtualHost> 

Immerhin bekomme ich immer noch den gleichen Fehler nach 5 Minuten der Ausführung. Hat jemand eine Idee, wie man es bitte reparieren kann?

Antwort

0

Sind Sie sicher, dass Sie die richtige php.ini-Datei bearbeitet haben ?. Es scheint, dass Ihre Anwendung über die Befehlszeile ausgeführt wird.

PHP-Dateien, die von der Befehlszeile laufen, haben normalerweise eine separate php.ini-Datei. Sie können den Pfad zu Ihrer php.ini-Datei abrufen, indem Sie den Befehl php -i über die Befehlszeile eingeben.

+0

Ich habe beide php.ini-Dateien bearbeitet. Ich weiß nicht, warum immer noch der Standardwert (300 Sekunden) verwendet wird. Jedenfalls danke für deine Antwort. Ich habe es aufgegeben, herauszufinden, was vor sich geht, und ich habe eine Java-App geschrieben, um diesen langen Prozess durchzuführen. –