Подтвердить что ты не робот

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 секунды, от которых мы хотели бы избавиться. Спасибо!

4b9b3361

Ответ 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();
    }