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
Attempts to change the mode of the specified file to that given in
mode
.
sftp
An SSH2 SFTP resource opened by ssh2_sftp().
filename
Path to the file.
mode
Permissions on the file. See the chmod() for more details on this parameter.
Returns true
on success or false
on failure.
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.