PHP медленный с mysqli
Я (надеюсь) это очень простой вопрос о том, что пропущено для PHP/MySQL. Во-первых, компьютеры - это машины под управлением Windows 7, и они запускают XAMPP (Apache, PHP, MySQL и т.д.) - ничего из Windows/IIS и т.д.
Машины бывают быстрыми, при этом PHP и MySQL работают очень быстро. Однако есть одна машина, где способ ее работы с PHP и MySQL - это своего рода задержка - в частности, это существенно 3 секунды. Фактически, если вы удаляете ВСЕ, код делает так, чтобы он ничего не делал больше, чем настраивал свое соединение следующим образом:
$db = new mysqli($hostname, $username, $password, $database);
... и нет запроса или чего-то еще - только эта строка PHP, которая устанавливает объект, занимает ровно 3 секунды.
Вы прокомментируете эту строку, напротив, и страница мгновенно.
В любом случае, почему это происходит? Не похоже, чтобы что-то было не так, точно, просто как-то настроилось на эти 3 секунды, от которых мы хотели бы избавиться. Спасибо!
Ответы
Ответ 1
Если это локально локально, и вы используете localhost, это будет вашей проблемой, попробуйте использовать
$db = new mysqli('127.0.0.1', $username, $password, $database);
Это связано с тем, как MYSQLI
обрабатывает localhost и IPV6
.
Ответ 2
$orig = $_GET['orig'];
$des_id = $_GET['des_id'];
try {
$dbuser = "kim";
$dbpass = "kim";
$conn = new PDO('mysql:host=localhost;dbname=destination', $dbuser, $dbpass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT pl_id FROM view_places WHERE name = :name LIMIT 1");
$stmt->bindParam(':name',$orig);
$stmt->execute();
$result_1 = $stmt -> fetch();
$res1 = $result_1["pl_id"];
$stmt->bindParam(':name', $des_id);
$stmt->execute();
$result_2 = $stmt -> fetch();
$res2 = $result_2["pl_id"];
echo 'origin_number:'.$res1. ', '.'destination_id:'.$res2;
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}