php script rastgele kapatırsa

3 Cevap php

Ben apache modülü olarak php 5 (daha doğrusu 5.3.1) yükleyin.

Benim bu uygulama biri rastgele mysql_connect asmak olur sonra - bazen çalışır, bazen hiç, bazen sayfa yardımcı olur ve yeniden.

Bu nasıl tespit edilebilir?

Windows Vista, php modülü, MySQL 5.0.67-community-nt ile Apache/2.2.14 (Win32) PHP/5.3.1 kullanın.

Bir dakika sonra hata mesajı edinin:

Fatal error: Maximum execution time of 60 seconds exceeded in path\to\mysqlcon.php on line 9

Ben yerel MySQL çalıştırmak ve ağır yük bir neden olamazdı:

SHOW PROCESSLIST yaklaşık 3 süreci gösterir

SHOW VARIABLES LIKE 'MAX_CONNECTIONS' 100'dür.

UPDATE:

At first I thought that this is connected with mysql_connect. But now I can't say for certain.

Ben hata ayıklama satır eklediğinizde daha zor bir şeydir:

$fh = fopen("E://_debugLog", 'a'); fwrite($fh, __FILE__ . " : " . __LINE__ . "\n"); fclose($fh);

komut bir kural olarak bu konuma yakın çalışmaya başlar.

Apache restart sorunu çözmek.

3 Cevap

Sen MySQL bağlantı sınırını isabet olabilir, ve bağlanmaya çalışırken komut bir bağlantı yapılıncaya kadar çarklarını döndürmeye, ama bundan önce azami yürütme zaman sınırı içine çalışır olacaktır. Bu uzun aralar birini vurduğunda, sunucu tüm bağlantıları listeler, hangi mysql monitör içine hop ve SHOW PROCESSLIST yapmak. Sen SHOW VARIABLES LIKE 'MAX_CONNECTIONS' ile bağlantı sınırını alabilirsiniz. Aktif süreçlerin sayısı max_connections değere ya da en yakın ise, bu senin sorunun.

Sorunu yalıtmak için deneyin:

  1. (Apache MySQL) her şeyi kapatın.
  2. (Hemen hemen herşeyi giriş yapıyorsanız böylece) ayrıntılı bir seviyeye apache ve mysql ve günlük düzeylerini Bump.
  3. Mevcut senaryonun üzerinden mysql_connect çağıran kod tek bir işlev / adet çekin ve başka bir şey ama sorgu mysql yapan yeni bir komut dosyası oluşturun ve sonuçları döndürür. (Ayrıca varolan komut dışında her şeyi yorum yapabilirsiniz).
  4. Her şeyi geri başlatın ve sıradan bir şey için günlüklerine bakın.
  5. Lütfen komut yürütmek ve günlüklerini inceleyin. Yavaş oldu? Günlüklerinde garip şey var mı? Yavaş değilse, orijinal komut / Uncommenting şeyler eklemeye başlayın. Yavaşlatmak mu? Ne günlüklerinde kadar gösteriyor?