2011-04-18 27 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

相關問題