Установление соединения с базой данных MySQL, размещенной на удаленном компьютере с Linux, через SSH с использованием функций PHP может оказаться сложной задачей. Ошибка «mysqli_connect() ожидает, что параметр 6 будет строкой с заданным ресурсом» может возникнуть при использовании предоставленного кода.
Код пытается использовать функцию mysqli_connect() для подключитесь к базе данных через SSH-туннель. Однако функция mysqli_connect() ожидает строку в качестве шестого параметра (указывающего туннель), тогда как функция ssh2_tunnel() возвращает ресурс.
Чтобы решить эту проблему, настройте SSH-туннель к вашему серверу базы данных MySQL. Одним из эффективных методов является использование прокси-сервера Jumpbox для повышения безопасности. Этот подход предполагает создание локального туннеля переадресации портов с использованием SSH-клиента, что эффективно создает безопасный канал между вашим локальным компьютером и сервером базы данных.
Использование Инструменты командной строки (настройка туннеля SSH):
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
Подключение к базе данных:
$mysqli = mysqli_connect("127.0.0.1:3307", "DB_USERNAME", "DB_PASSWORD", "dbname");
Дополнительные рекомендации:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3