Localhost не работает с кодом

<?php

    // $host = 'localhost';
    $host = '127.0.0.1';
    $link = mysqli_connect( $host, 'root', 'root', 'DEV_newProject' );
    if ( !$link )
    {
        echo 'Error: Falha ao conectar-se com o banco de dados MySQL.' . PHP_EOL;
        echo 'Debugging errno: ' . mysqli_connect_errno() . PHP_EOL;
        echo 'Debugging error: ' . mysqli_connect_error() . PHP_EOL;
        exit;
    }
    echo 'Sucesso: Sucesso ao conectar-se com a base de dados MySQL.' . PHP_EOL;
    mysqli_close( $link );
?>

Когда я использую «127.0.0.1»
Когда я использую «localhost», это не работает.
Это просто происходит на php-коде, на apache работают оба.

Последний вход: Вт, 20 февраля, 18:16:56 на консоли
~$ ping localhost
PING localhost (127.0.0.1): 56 байт данных
64 байта с 127.0.0.1: icmp_seq=0 ttl=64 time=0,054 мс
64 байта из 127.0.0.1: icmp_seq=1 ttl=64 time=0,133 мс


person Gustavo Filgueiras    schedule 20.02.2018    source источник
comment
Что должен делать ваш код? подключиться к mysql и echo Sucesso... и закрыть соединение? Проверьте свой hosts файл!   -  person Salim Ibrogimov    schedule 20.02.2018
comment
@SalimIbrogimov Да, этот код - простой пример проблемы.   -  person Gustavo Filgueiras    schedule 20.02.2018
comment
@SalimIbrogimov Если я использую 127.0.0.1, это работает, но когда я использую локальный хост, это не работает: /   -  person Gustavo Filgueiras    schedule 20.02.2018
comment
какую ОС вы используете?   -  person Salim Ibrogimov    schedule 20.02.2018
comment
Какое сообщение об ошибке вы видите, когда пытаетесь просмотреть http://localhost?   -  person Salim Ibrogimov    schedule 20.02.2018
comment
@SalimIbrogimov Я использую MacOS High Sierra.   -  person Gustavo Filgueiras    schedule 20.02.2018
comment
@SalimIbrogimov Предупреждение: mysqli_connect(): (HY000/2002): Нет такого файла или каталога в teste.php в строке 5. Ошибка: Falha ao conectar-se com o banco de dado MySQL. Ошибка отладки: 2002 Ошибка отладки: нет такого файла или каталога   -  person Gustavo Filgueiras    schedule 20.02.2018
comment
вы используете MAMP???   -  person Salim Ibrogimov    schedule 20.02.2018
comment
@SalimIbrogimov Нет, я использую apache и php с Mac. Но Mysql я скачал   -  person Gustavo Filgueiras    schedule 20.02.2018


Ответы (1)


Проверьте свой файл hosts, чтобы убедиться, что вы не испортили его (повторяющиеся строки, неправильные строки и т. д.). В нем должно быть только это: 127.0.0.1 localhost

ИЗМЕНИТЬ

В случае, если вы используете MAMP. Порт по умолчанию в MAMP для mysql — 8889, но порт, который php ожидает использовать для mysql, — 3306. Поэтому вам нужно открыть MAMP, перейти к настройкам и изменить порт mysql MAMP на 3306, а затем перезапустить сервер mysql. Теперь соединение должно быть успешным с host=localhost, user=root, pass=root.

РЕДАКТИРОВАТЬ В случае отсутствия необходимых каталогов:

cd /var
mkdir mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock
person Salim Ibrogimov    schedule 20.02.2018
comment
Я не использую MAMP. - person Gustavo Filgueiras; 20.02.2018
comment
Это мой файл hosts. Последний вход: Вт, 20 февраля, 19:32:58 на консоли ~$ cat /etc/hosts ## # База данных хоста # # localhost используется для настройки петлевого интерфейса # при загрузке системы. Не изменяйте эту запись. ## 127.0.0.1 локальный хост ~$ - person Gustavo Filgueiras; 20.02.2018
comment
@GustavoFilgueiras хорошо! хорошо! - person Salim Ibrogimov; 20.02.2018
comment
@GustavoFilgueiras: Посмотрите на второй раздел EDIT! - person Salim Ibrogimov; 20.02.2018
comment
Это работает! Что случилось ? - person Gustavo Filgueiras; 20.02.2018
comment
@GustavoFilgueiras: Я рад! ))) - person Salim Ibrogimov; 20.02.2018
comment
Что случилось ? - person Gustavo Filgueiras; 20.02.2018
comment
@GustavoFilgueiras: вы только что создали папку mysql в папке /var - person Salim Ibrogimov; 20.02.2018
comment
Большое спасибо :) - person Gustavo Filgueiras; 20.02.2018
comment
@GustavoFilgueiras ))) - person Salim Ibrogimov; 20.02.2018