It seems that when creating directory using this function, permissions are affected by the system umask setting.
If you want to make sure proper permissions are set, after creating directory, set permissions by using ssh2_sftp_chmod function.
(PECL ssh2 >= 0.12)
ssh2_sftp_chmod — Changes file mode
$sftp
, string $filename
, int $mode
) : bool
Attempts to change the mode of the specified file to that given in
mode.
sftpAn SSH2 SFTP resource opened by ssh2_sftp().
filenamePath to the file.
modePermissions on the file. See the chmod() for more details on this parameter.
Întoarce valoarea true în cazul
succesului sau false în cazul eșecului.
Example #1 Changing the mode of a file on a remote server
<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
ssh2_sftp_chmod($sftp, '/somedir/somefile', 0755);
?>
It seems that when creating directory using this function, permissions are affected by the system umask setting.
If you want to make sure proper permissions are set, after creating directory, set permissions by using ssh2_sftp_chmod function.