2011-04-18 16 views
5

Yürütülebilir olması gereken bir dosya oluşturan bir php'im var (bu, sistem tarafından çalıştırılması gereken bir toplu iş dosyasıdır). Herhangi bir nedenle, dosya apache'ye ait olsa ve php apache olarak çalışıyorsa ve dosya oluşturulduğunda, betik chmod satırında ölür. Php'nin oluşturduğu dosyayı değiştirmesine izin vermek için farklı yapılandırmak için neye ihtiyacım var? Üstünde iki satırlık, bu dosya için oluşturduğu 755'e tam olarak giden bir dizin yaratır. Belli bir şey eksik miyim?Neden PHP betiğimde bir dosya oluşturmuyor?

benim chmod satırı şu şekildedir: umask nedeniyle Büyük olasılıkla

$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

Bitler. Yapışkan yap. – phooji

+0

Bunun ne anlama geldiğini bilmiyorum ... yapışkanlı kodları ... –

+1

chmod hakkını kullandığınızdan emin misiniz? ondalık değer yerine sekizlik alır. –

cevap

2

. chmod'dan önce 0'a ayarlamayı deneyin.

+0

0 şeyler çok garip, ama 0077, 0755 için bir chmod onu hile yaptı! Ancak, PHP hala dosyayı yürütmeyi reddediyor! GRRR –

+0

Devam edeceğim ve en azından benim chmoding probleminin çözülmesine sebep olan onay işaretini vereceğim ... Alternatif bir soruda "php neden benim toplu iş dosyasını yürütmeyecek" sorusunu göndermek zorundayım:) –