doudizhu2222 2016-03-16 12:48
浏览 63
已采纳

Ubuntu - php chmod()在创建副本后不更改文件权限

I have the following code running on ubuntu,apache,php

if (!file_exists(THIS_DIR."DEFINE.php")) {
    copy(THIS_DIR."DEFINE.default.php",THIS_DIR."DEFINE.php");
    chmod(THIS_DIR."DEFINE.php",777);
}

after this run this code, I check the file in terminal:

$ ls -l DEFINE*
-rwxrwxrwx 1 www-data www-data 353 2015-11-25 13:28 DEFINE.default.php
-r----x--t 1 www-data www-data 353 2016-03-16 12:44 DEFINE.php

As u can see the file is created, own by the apache process, but chmod didn't work, and the file cannot be edited by the apache process.

Why is that?

The code works on my win dev env, how can I make it work on Ubuntu

  • 写回答

1条回答 默认 最新

  • douji6896 2016-03-16 12:57
    关注

    Try below its worked for me:

    chmod(THIS_DIR."DEFINE.php",0777);

    instead

    chmod(THIS_DIR."DEFINE.php",777);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?