sql >> Databasteknik >  >> RDS >> Mysql

PHP för varje användarskript verkar få apache att hänga sig

Det här beteendet låter som sessionslåsning. Standardsättet för PHP-sessioner fungerar är att låsa sessionen (för att förhindra att två processer skriver till sessionsobjektet). Detta är normalt bra för typiska kortlivade PHP-skript, men kan bita dig när du har något som är långvarigt.

Om din applikation inte använder sessioner alls, bör du stänga av session.auto_start i php.ini eller .htaccess:http ://www.php.net/manual/en/session.configuration.php#ini.session.auto-start (Om du inte ser det där, eller om det redan är avstängt, men du använder någon form av ramverk, kan ramverket starta sessionen åt dig; i så fall är det enklare att gå till nästa lösning än att försöka slåss ramverket.)

Om du använder sessionen på vissa sidor, men inte på denna långvariga process, är lösningen att stänga sessionen i början av ditt skript, med session_write_close() :

<?
set_time_limit(0);

require '../connect.php';
require '../includes/ses.php';

session_write_close();

$i = 1;
....

Återigen, ramverksvarningen:om ramverket startar en session för dig, lägg sedan session_write_close(); efter att ha inkluderat ramfilerna, inte innan! (Du nämnde att så var fallet i dina kommentarer, vilket är anledningen till att jag har lagt det efter kravraderna.)

Om din långa process behöver använda sessionen, men skrivskyddad, fungerar ovanstående fortfarande. Se https://stackoverflow.com/a/14409902/841830 (Som svaret visar, om du behöver skriva till sessionen i slutet av den långa processen är det också möjligt.)

(P.S. Detta har redan besvarats i kommentarerna, men jag har tagit till mig Wrikkens erbjudande att lägga ut det som ett svar. Ja, ryktena är sanna:jag gör vad som helst för några rep...)




  1. fyll i kryssrutor och uppdatera sedan urvalet till mysql

  2. Alternativ för att hämta det aktuella sekvensvärdet (vid ett ögonblick då en fråga körs).

  3. Hur man infogar värden i en tabell med dynamiska kolumner Jdbc/Mysql

  4. Förbättra Mysql Match mot sökning