HardBirch

Perl和PHP在Linux下无法mkdir 777的问题

时间:10-04-16 栏目:HTML5移动开发 作者:张飞不张,文采横飞 评论:0 点击: 2,396 次

首先Perl mkdir 的语法是:
1.mkdir('dir', 代表九位二进制数字的十进制值)
设置775,则该值为十进制的509,即二进制的111111101
此数值不能设置为111111111即十进制的511即777。
2.mkdir('dir', 0常见unix3位权限)
可以设置777。

然后在linux下时,由于umask的原因,只能设置为755。
因为创建文件时的权限是umask和mode的&运算的值。
具体原因参见:http://www.perlmonks.org/?node_id=543251

可用下列代码验证:

 

解决办法如下:
1.可以设置umask时,如下代码:
my $old_umask = umask;
umask 0;
mkdir('test_dir', 0777);
umask $old_umask;
2.或者创建完后赋予权限:
chmod test_dir, 777

声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: Perl和PHP在Linux下无法mkdir 777的问题

Perl和PHP在Linux下无法mkdir 777的问题:等您坐沙发呢!

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐