Kamu pasti sering melihat website yang proses dan loading terlalu lama, malah muncul error: 500 Error Request Timeout
, terkadang juga muncul 503 Error
Sederhananya hal ini karena terdapat proses panjang dan biasanya adalah proses database, query yang terlalu komplex dan memakan waktu cukup lama untuk menyelesaikan itu semua sehingga web server tertentu terkadang memiliki limit timeout tertentu, dimana jika melebihi batas waktu yang sudah ditentukan maka akan dianggap 500 Error Request Timeout.
Solusinya mungkin bisa mudah, dan error yang kami bahas ini biasanya muncul jika menggunakan web server LiteSpeed.
1. max_execution_time
Kamu bisa menaikan php parameter max_execution_time = 300 (default 30) baik melalui php.ini
atau dari .htaccess
Biasanya hal ini cukup membantu, tetapi jika memang belum menyelesaikan masalah, silahkan lanjutkan solusi berikutnya.
2. Aktifkan noconntimeout
Buka GUI LiteSpeed panel (WebAdmin).
WebAdmin CP > Configuration > Server > Tuning > Connection Timeout (secs)
Kamu bisa edit dan set Connection Timeout
: 600 atau diatasnya (sesuaikan kebutuhan).
Alternatif jika kamu bukan root user, maka bisa juga di set melalui .htaccess
dengan cara :
<IfModule Litespeed>
RewriteEngine On
RewriteRule .* - [E=noconntimeout:1]
</IfModule>
Pastikan kamu letakan di baris pertama dari .htaccess ya!
3. Aktifkan noabort
Secara global kamu bisa set noabort melalui GUI WebAdmin console > Configuration > Server > General > External Application Abort
Set External Application Abort ke "No Abort" agar aplikasi tidak di stop walaupun koneksi telah rusak.
Alternatif juga bisa menggunakan .htaccess dan ditaruk di baris paling atas :
<IfModule Litespeed>
RewriteEngine On
RewriteRule .* - [E=noabort:1]
</IfModule>
Jika mau spesifik url tertentu saja seperti wp-cron.php / backupbuddy.php / importbuddy.php bisa ikuti cara seperti ini :
RewriteEngine On
RewriteRule (wp-cron|backupbuddy|importbuddy)\.php - [E=noabort:1]
Kesimpulan
Terdapat beberapa cara untuk menaikan request timeout agar website kamu dapat terproses sempurna 100%. Beberapa catatan penting yaitu kamu harus menyesuaikan max_execution_time
di sisi PHP nya, lalu jangan lupa juga di sisi web server LiteSpeed yaitu Connection Timout
. Usahakan dua hal tersebut memiliki value yang tidak jauh berbeda, sehingga request timout yang didapat bisa sesuai dengan value yang sudah di set. Demikian tutorial sederhana dari kami, semoga bermanfaat ya :)
Sumber: https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:php:run-without-timeouts