Files
drmaterac.pl/diag_20792_tmp.php

67 lines
2.5 KiB
PHP

<?php
if (!isset($_GET['key']) || $_GET['key'] !== 'diag2026') {
die('403');
}
$params = require __DIR__ . '/app/config/parameters.php';
$p = $params['parameters'];
$pdo = new PDO(
"mysql:host={$p['database_host']};dbname={$p['database_name']};charset=utf8",
$p['database_user'],
$p['database_password']
);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$prefix = $p['database_prefix'];
$id = 20792;
echo "<pre>\n";
// Ile wierszy omnibus dla tego produktu
echo "=== omnibus_eu_free dla produktu $id ===\n";
$cnt = $pdo->query("SELECT COUNT(*) FROM {$prefix}omnibus_eu_free WHERE id_product = $id")->fetchColumn();
echo "Laczna liczba wierszy: $cnt\n";
$cnt_all = $pdo->query("SELECT COUNT(*) FROM {$prefix}omnibus_eu_free")->fetchColumn();
echo "Cala tabela: $cnt_all wierszy\n\n";
echo "=== Wierszy na kombinacje (top 10) ===\n";
$stmt = $pdo->query("SELECT id_product_attribute, COUNT(*) AS ile FROM {$prefix}omnibus_eu_free WHERE id_product = $id GROUP BY id_product_attribute ORDER BY ile DESC LIMIT 10");
foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) echo json_encode($row) . "\n";
// Czas zapytania SELECT * dla tego produktu
echo "\n=== Czas SELECT * omnibus dla produktu (ms) ===\n";
$start = microtime(true);
$rows = $pdo->query("SELECT * FROM {$prefix}omnibus_eu_free WHERE id_product = $id ORDER BY id_omnibuseufree DESC")->fetchAll();
echo round((microtime(true) - $start) * 1000, 2) . " ms, pobranych: " . count($rows) . " wierszy\n";
// Duplikaty hookow
echo "\n=== Duplikaty hook registracji ===\n";
$stmt = $pdo->query("SELECT m.name, COUNT(*) AS rejestracji
FROM {$prefix}module m
JOIN {$prefix}hook_module hm ON m.id_module = hm.id_module
JOIN {$prefix}hook h ON hm.id_hook = h.id_hook
WHERE h.name = 'displayAdminProductsExtra'
GROUP BY m.name
HAVING rejestracji > 1");
$dups = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (empty($dups)) {
echo "Brak duplikatow\n";
} else {
foreach ($dups as $row) echo json_encode($row) . "\n";
}
// PHP config
echo "\n=== PHP limits ===\n";
echo "max_execution_time: " . ini_get('max_execution_time') . "s\n";
echo "memory_limit: " . ini_get('memory_limit') . "\n";
// gm_omniprice_history dla tego produktu
echo "\n=== gm_omniprice_history dla produktu $id ===\n";
$cnt2 = $pdo->query("SELECT COUNT(*) FROM {$prefix}gm_omniprice_history WHERE id_product = $id")->fetchColumn();
echo "Wierszy: $cnt2\n";
echo "</pre>";
echo "<p style='color:red'><b>PAMIETAJ: usun ten plik po diagnostyce!</b></p>";