exec

(PHP 4, PHP 5, PHP 7)

execBir komut çalıştırır

Açıklama

exec ( string $komut [, array &$çıktı [, int &$dönüş_değeri ]] ) : string

exec() işlevi belirtilen komut'u çalıştırır.

Değiştirgeler

komut

Çalıştırılacak komut.

çıktı

Bu değiştirge belirtilmişse, dizinin her elemanına komut çıktısının bir satırı yazılır. Satırların sonundaki \n gibi boşluk karakterleri dizide bulunmaz. Dizi zaten bazı elemanlar içeriyorsa exec() çıktısı dizinin sonuna eklenir. Eğer işlevin çıktısının böyle dizi sonuna eklemesini istemezseniz, diziyi exec() işlevine aktarmadan önce üzerinde bir unset() çağrısı yapmalısınız.

dönüş_değeri

çıktı değiştirgesinin yanında bir dönüş_değeri değiştirgesi belirtilmişse komutun çıkış durumu bu değiştirgeye yazılır.

Dönen Değerler

Komut çıktısının son satırı. Bir komutu, çıktısı ortamla etkileşime girmeden doğrudan geri aktarılsın isterseniz passthru() işlevini kullanın.

Çalıştırılan komutun çıktısını almak istiyorsanız çıktı değiştirgesini belirtmeyi unutmayın.

Örnekler

Örnek 1 - exec() örneği

<?php
// php/httpd süreçlerinin sahibi olan kullanıcının ismini çıktılayalım
// Tabii, whoami komutu olan bir sistemde.
echo exec('whoami');
?>

Notlar

Uyarı

Kullanıcı kaynaklı verilerin bu işlev üzerinden aktarımına izin verecekseniz, kullanıcının bazı komutlar çalıştırarak sistemi kandıramaması için escapeshellarg() veya escapeshellcmd() işlevlerini kullanınız.

Bilginize:

Eğer bir uygulama bu işlevle başlatılmışsa uygulamanın artalanda çalışmasını sürdürebilmesi için uygulama çıktısı ya bir dosyaya ya da başka bir çıktı akımına yönlendirilmelidir. Aksi takdirde, uygulama sonlanana kadar PHP askıda kalacaktır.

Bilginize: Güvenli kip etkinken, dosyaları sadece safe_mode_exec_dir ile çalıştırabilirsiniz. Uygulamadan kaynaklanan sebeplerle çalıştırılabilirin dosya yolunda .. bileşenine şimdilik izin verilmemektedir.

Uyarı

güvenli kipin etkin kılınmasıyla, komut dizgesi escapeshellcmd() ile öncelenir. Böylece, echo y | echo x komut dizgesi echo y \| echo x haline gelir.

Ayrıca Bakınız