Это возможно возможно, но почему? Это сложнее, чем нужно, и подвержено ошибкам.
Не можете ли вы запустить базу данных локально? Если нет, то не можете ли вы использовать что-то вроде SQLite, XML-файлы или что-то еще, что не требует отдельного демона сервера?
Вы действительно не хотите инициализировать туннель внутри сценариев PHP. Инициализация туннеля SSH занимает много времени (это может быть секунда или две), так что при загрузке каждой страницы, которая подключается к базе данных, будет задержка 2 секунды.
Если у вас есть для этого (что я настоятельно рекомендую), лучшим способом будет иметь скрипт, поддерживающий соединение в фоновом режиме.
Установка пары ключей SSH . Затем, используя autossh или простой скрипт, который будет выполнять требуемую команду SSH, дождитесь, пока процесс не прекратится, и запустите его снова. Он может быть более умным и пытаться запускать команду каждые 10-20 секунд, переподключаться, если она не работает.
Используя пару ключей SSH, вам не придется жестко задавать пароль удаленного пользователя в скрипте. Я бы порекомендовал ограничить возможности удаленного пользователя (используя выделенного туннельного пользователя и назначив ему ограниченную оболочку, см. этот вопрос)
Короче говоря, я настоятельно рекомендовал бы сначала попробовать SQLite, затем посмотреть, насколько это возможно для хранения данных с использованием файлов XML, а затем попытаться настроить ваш веб-хост на наличие локального сервера MySQL. Опция туннелирования SSH.