Есть ли способ установить постоянное соединение с FTP или SFTP-сервером с использованием встроенных функций PHP в файле PHP, который запускается как процесс Daemon? В настоящее время я использую что-то вроде:
$connection = ssh2_connect('ip', port);
ssh2_auth_password($connection, 'root', 'password');
$sftp = ssh2_sftp($connection);
$dir = 'ssh2.sftp://' . $sftp . '/./';
Но я должен открывать новое соединение каждый раз, когда мне приходится выполнять такие действия, как создание, редактирование или удаление файла или список каталогов.
Заранее спасибо.
Вам не нужно открывать новое соединение для каждого действия.
$sftp
- это ресурс, который представляет соединение. Просто держите его и используйте его для каждого действия.
$connection = ssh2_connect('ip', port);
ssh2_auth_password($connection, 'root', 'password');
$sftp = ssh2_sftp($connection);
$stream1 = fopen("ssh2.sftp://$sftp/path/to/file", 'r');
// later...
$stream2 = fopen("ssh2.sftp://$sftp/path/to/file", 'r');