Php ile Windows & Linux Server'inize Web Üzerinden Komut Gönderme

Web tasarım, Web Programlama ve script dilleri konuları buraya
Cevapla
Kullanıcı avatarı
trasmus
Megabyte2
Megabyte2
Mesajlar: 1196
Kayıt: 14 May 2010, 14:50
cinsiyet: Erkek

Php ile Windows & Linux Server'inize Web Üzerinden Komut Gönderme

Mesaj gönderen trasmus »

Bu yazıda Windows Server üzerinde veya yerel bilgisayarınıza kurduğunuz web geliştirme programları (Wamp, Xampp vs.) ile sunucunuzda kod çalıştırma örnekler üzerinden gösterilecek.

- Php ile sunucunuzda komut çalıştıştmak için birden fazla yol vardır. Bunlar: exec, system, passthru, shell_exec ve backticks'tir. Biz bu fonksiyonlardan exec ve system üzerinden işlem yapacağız.

1- Exec ile Windows sunucumuzda shutdown komutunu çalıştırma:

- Shutdown komutunun parametrelerini öğrenmek için bir komut penceresi açıp shutdown kelimesini yazıp çalıştırın. Çıkan ekranda programın komut parametrelerine göre seçim yapabilirsiniz. Aşağıdaki kodu bir php dosyası oluşturup içine kaydedin. Bu kod ile bilgisayarınızı web üzerinden 15 saniye içerisinde ("/t" komutu ile tanımlanan değer) yeniden başlatabilirsiniz.

Kod: Tümünü seç

<?php

exec('cmd.exe /c shutdown /f /r /t 015');

?>
Yukarıdaki örnekte bilgisayarımıza kapatma komutunu bazı parametrelerle verdik. Cmd.exe system32 içerisinde yer aldığı için direkt adını yazdığımızda sorun çıkarmadan çalışıyor. Eğer system32 içerisinde bulunmayan ve/veya "ortam değişkeni" olarak tanımlanmayan bir programa komut göndermek istiyorsak tam yol adını yazmalıyız. Aşağıda bir üstteki kodun uzun hali yer almakta, kodunuzu uyarlayabilirsiniz.

Kod: Tümünü seç

<?php

exec('c:\WINDOWS\system32\cmd.exe /c shutdown /f /r /t 015');

?>
2- System ile Windows sunucumuzda shutdown komutunu çalıştırma:

Yukarıdaki örneklerdeki exec değişkeni ile çalıştırılan komutta hata veya bilgi çıktısı alınacaksa bunun yerine "system" değişkeni kullanılabilir. Aşağıdaki örnekte "system" ile shutdown komutunu parametresiz gönderdiğimizde alınan hatanın çıktısını görebileceksiniz. Bunu "exec" ile yaptığınızda boş sayfa ile karşılaşırsınız.

Kod: Tümünü seç

<?php

system('cmd.exe /c shutdown');

?>

Bütün örneklerde cmd.exe ile komut satırı çağrılmasına karşın istenirse bunun yazılmasına gerek yoktur. Ancak işletim sistemi ve dil farklarından dolayı bunun yazılması sıkıntı yaratabilir. Deneyip sorun çıkarmadığınından emin olduğunuzda direkt komutları yazabilirsiniz. Aşağıda bir örneği bulunmakta:

Kod: Tümünü seç

<?php

exec('shutdown /f /r /t 015');

?>
** Linux'taki kullanımı da benzerdir. Konu altına karşılaştığınız sorunları yazabilirsiniz, bilgim dahilinde cevaplayabilirim.
En son trasmus tarafından 30 Oca 2021, 20:38 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
velociraptor
Yottabyte4
Yottabyte4
Mesajlar: 35443
Kayıt: 14 Mar 2006, 02:33
cinsiyet: Erkek

Re: Php ile Windows & Linux Server'inize Web Üzerinden Komut Gönderme

Mesaj gönderen velociraptor »

teşekkürler Trasmus
Knowledge determines destiny, And ye shall know the Truth and the Truth shall make you free
Cevapla