Я пытаюсь подключиться к удаленному серверу WAMP с помощью простого сценария php. Я могу успешно выполнять сценарии, как этот:
<?php
$counter = 0;
while($counter < 20) {
$counter++;
echo $counter;
echo "\n";
}
echo "Done! Counter: ";
echo $counter;
echo "\n";
?>
Но на моем ноутбуке не удалось выполнить основные сценарии, которые пытаются подключиться к моему удаленному серверу, как показано ниже. Следующая строка просто зависает и скрипт php никогда не останавливается. Я выполняю это cd
в каталог с файлом и работает php test.php
,
$link = mysqli_connect($db_host, $db_user, $db_pass, $db_database, $db_port) or die(mysqli_error($link));
Это печатает bool(true)
:
var_dump(function_exists('mysqli_connect'));
Нужно ли что-нибудь устанавливать, чтобы заставить это работать? Я сделал все обычные исправления, изменил .conf
файлы на моем локальном сервере и приложение для Android, которое успешно подключается, но сейчас я просто хочу выполнять операции с таблицей MySQL из терминала, но не могу.
Правильный вызов, чтобы увидеть любые ошибки, сгенерированные mysqli_connect()
является mysqli_connect_error()
и не mysqli_error($link));
Так что измените вызов соединения на
$link = mysqli_connect($db_host, $db_user,
$db_pass, $db_database,
$db_port)
or die(mysqli_connect_error());
Или как предложено в руководстве
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
Вам также нужно будет использовать идентификатор пользователя / пароль, настроенный для разрешения доступа через удаленное соединение. По умолчанию root
не будет разрешать удаленные подключения, и не должны быть изменены, чтобы разрешить удаленные подключения.
Вы можете найти это страница в руководстве полезна создать новую учетную запись пользователя в MYSQL
Других решений пока нет …