2011-04-18 88 views
5

我有一个PHP,创建一个需要可执行文件(这是一个批处理文件,需要由系统运行)。出于某种原因,即使该文件由apache拥有,并且php以apache运行,并且创建了该文件,脚本也会死在chmod行。我需要什么来配置不同,以允许PHP来chmod它创建的文件?在它上面的两行快乐地创建一个目录FOR这个文件,当它创建它时,它将chmod到755。我错过了明显的东西吗?为什么我的PHP脚本无法chmod它创建的文件?

我搭配chmod线看起来是这样的:

$uploadFilePath = "./path/to/file/"; 
    if(!is_dir($uploadFilePath)){ 
      mkdir($uploadFilePath, 0777 , true) or die("ERROR:can't create directory '$uploadFilePath'"); 
    } 
     ... 
    //write batch file 
     ... 
    chmod ($uploadFilePath . 'sftp.batch' ,0777) or die ("\ncan't chmod " . $uploadFilePath . 'sftp.batch'); 
+2

位。让他们变得粘稠。 – phooji 2011-04-18 01:07:36

+0

我不知道这是什么意思...谷歌搜索粘滞位... – 2011-04-18 01:14:56

+1

你确定你使用的是chmod吗?它需要一个八进制而不是十进制值。 – 2011-04-18 01:16:28

回答

2

最有可能是由于umask。尝试在chmod之前将其设置为0

+0

0使事情非常奇怪,但0077,其次是0755 chmod做了诡计!但是,PHP仍然拒绝实际执行文件! GRRR – 2011-04-18 02:30:07

+0

我打算继续,并给你复选标记的原因,至少我的chmoding问题已解决......我将不得不在后续问题中发布“为什么php不会执行我的批处理文件”问题: ) – 2011-04-18 02:31:54

相关问题