sql >> Databasteknik >  >> RDS >> Mysql

Slumpmässig PHP FastCGI / Anslutning återställd av peer / ofullständiga rubriker

Det här problemet är i allmänhet inte bara värdspecifikt, det är också utvecklarrelaterat, beroende på konfigurationen. Vissa värdar är dock ganska strikta med FastCGI och kommer att begränsa dina möjligheter. Det är i allmänhet lättare att köra utan att använda FastCGI och bara använda mod_php om du inte har ett specifikt behov av att använda FastCGI i din applikation.

Vi skulle behöva se ditt fcgi-omslag (vad som finns i /dev/shm/blackmou-php.fcgi) eller .htaccess för FastCGI spawning, för att bättre kunna hjälpa dig utan att veta vilka filer och koden som finns på dessa filer problemet uppstår med. Använder dina värdar också Apache, LightHttpd eller Nginx (eller kombination)? Då rekommenderar jag starkt att du uppdaterar till PHP 5.3.9+

Eftersom detta kan orsakas av hur många problem som helst, förhindrar FastCGI effektivt att din webbplats/skript attackeras av en Denial of Service eller kraschar på grund av minnesläckor, etc. (t.ex.:försöker hantera 80 000 anslutningar helt enkelt genom att släppa och begränsa antalet av förfrågningar eller att fastna i en oändlig loop genom att timeout och avsluta processen)

Det här felet i synnerhet orsakas i allmänhet av en idle_timeout (30 sekunder som standard) eller maxgräns för underordnade processer. Det kan också orsakas av att någon startar ett långvarigt skript och stänger sin webbläsare/anslutning innan skriptet slutförs.

FastCGI startar sitt processomslag, kör ett kommando, timeout innan processen slutförs, anslutningen ses som återställd av peer.

Ett annat exempel är att max antal barn (maxProcesser) nås (t.ex.:många sajter visar 2 eller 4 som ett exempel när du i verkligheten kan behöva 20 eller 50 beroende på genomsnittlig trafik) Om alla barn för närvarande är aktiva och en ytterligare begäran/ anslutningen görs, är barnen begränsade till maxProcesses, till vilka FastCGI inte kommer att dela de aktiva barnen, så det måste först antingen avsluta processen och starta en ny underordnad process, eller släppa begäran, beroende på dina konfigurationer.

Här är lite mer information om inställningarna:

http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html

http://www.fastcgi.com/drupal/node/10

Exempel på omslag

PHP_FCGI_CHILDREN=0 #no limit
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=10000
export PHP_FCGI_MAX_REQUESTS

UPPDATERA

För att lägga till detta kan detta också orsakas av php-minnesgräns

Om ovanstående inte löser ditt problem, uppdatera din php.ini för att öka memory_limit



  1. mysql-funktioner i frågebyggaren i laravel

  2. De angivna parametrarna till Zend_Auth_Adapter_DbTable kunde inte producera en giltig SQL-sats

  3. Vad är det bästa sättet att hantera DBNull's

  4. PHP-fel -> Varning:mysqli_stmt::execute():Det gick inte att hämta mysqli_stmt | Varning:mysqli_stmt::close()