Ben bir taşma bellek kullanımı sorunu var ve benim tüm komut dosyaları taramak gerekir. Benim soru nasıl php mysql sorguları çalışan bir listesini gösterebilir mi?
Sen orijinal mysql_query
fonksiyonu yeniden adlandırmak ve sorguları ile neyin yanlış gittiğini görmek için kod teftiş / bazı ek günlüğünü içeren kendi yazabilirsiniz:
rename_function('mysql_query', 'mysql_query_original');
override_function('mysql_query', '$query', 'return mysql_query_override($query);');
function mysql_query_override($query){
echo "Query started"; // Add some more sensible information here
$result = mysql_query_original($query);
echo "Query ended"; // Add some more sensible information here
return $result;
}
Eğer trafik büyük seviyeleri ile bir site çalıştıran sürece, o kuyruğa / çalışan sorguları herhangi anlık temsilcisi olması muhtemel değildir. Bunu olurken script ile sorgu ilişkilendirilmesi açısından sorunlar da vardır.
Ben kendi kod instrumenting öneririm - mysql_query etrafında sarıcı tanımlamak için bir oto-prepend kullanın sonra kendi günlüğünü uygulamak hangi edebilirsiniz:
1) creates a log entry before the script is fired (most log entries are created afterwards - not very handy if the code which writes the log crashes) 2) records the script which triggered the query and the query itself 3) records the memory usage before 4) records the same facts after along with the time taken
Sonra bir özyinelemeli arama yapmak ve sarıcı FN ile) (mysql_query çağrıları değiştirmek için kaynak kodu üzerinde değiştirin.
C.
Bu PHP nasıl çalıştığını, bu şeyler uyumsuz yapmaz çünkü herhangi bir zamanda çalışan tek bir sorgu vardır. Eğer farklı yapmak için 3. parti kütüphane çeşit kullanmadığınız sürece.
* EDIT: http://stackoverflow.com/questions/124462/asynchronous-php-calls: belki bakmak, mümkün görünüyor. Ancak çalışan kaç sorguları görmek için hiçbir yolu hala uyumsuz çalıştırmak için PHP olsun. Kodunuzu çalışırken Belki bazı mysql istatistikleri denemek ve kontrol edebilir.