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.
sftpfilenamemode示例 #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.