sistemi () Windows Server 2003 kullanıyorsanız php çalışmıyor

3 Cevap php

hi i have to extract the cabfile(.cab) on the server. i am Finding such script which extract cab file but i didn't get it yet. So now i am try to extract using cabarc.exe. But i face the problem that when i run command throuw commandline its work fine but when i give same command to system() or exec() function in php it is not work. code is as follow:

    $command = "c:\\exe\\cabarc X c:\\cab\\data.cab c:\\data\\";
if(($output = system($command,$return) != false)
{
  echo "$return";
}

it is not working when i use same string in commandline it works fine. please any body help me to why it not working what to do tomake it work is ther any rights issue. I had give the execute permission to the site.

teşekkürler

3 Cevap

Bu kod tarafından başlatılması gerekir böylece system fonksiyonu 2 argümanı referans olarak geçirilir. Bu değere ek olarak türünü doğrular çünkü Ayrıca, !== değil != kullanarak sahte için kontrol etmelisiniz. Eğer if açıklamada, dengesiz bir parantez var gibi Ayrıca, görünüyor. Bu deneyin:

$command = "c:\\exe\\cabarc X c:\\cab\\data.cab c:\\data\\";
$return = -1;
$output = system($command, $return);
if($output !== false)
{
    echo "Return value is: " . $return . "\r\n";
    echo "Output is:\r\n" . $output . "\r\n";
}

Bu sorunu çözmezse, PHP kullanıcı dosyaya erişmek için gerekli izinlere sahip olduğundan emin olun.

Eğer NTFS kullanıyorsanız, dosya izinlerini kontrol edin ve web sunucusu, bu dosyayı çalıştırın kaynak dosyayı açın ve hedef yazabilirsiniz emin olun.

Bir başka sorun sistem bir kabuk çağırmak gerekiyor gibi IUSR hesabı bu programı çalıştırmak eğer belki görmek, programın cmd.exe çalışmasına izin olmadığını olabilir.