Есть ли способ установить постоянное соединение с сервером 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');
Других решений пока нет …