
Merhaba arkadaşlar bu yazımda sizlere php exec() komutundan bahsetmek istiyorum ama öncelikle birkaç bişiden bahsetmek istiyorum :)
Safe Mod (Güvenli Mod) Nedir ?
Safe mod bir nevi güvenlik kontrolüdür diyebiliriz sunucularımızda safe mod genellikle açık olur ve sunucumuza aşırı yüklenmeyi , zararlı dosyalar yüklenmesini (trojan vb.) engeller.
Safe moddan neden bahsettik diye sorarsanız php de exec() fonksiyonunu kullanabilmemiz için safe modun kapalı olması gerekir.
Safe modunuz eğer açık ise sunucunuzda php.ini dosyanızı açarak içinde safe_mod şeklinde aratıp karşısındaki on yazısını off yaparak safe modu kapatmış olursunuz.
exec() Fonksiyonu Nedir , Kullanımı
Bildiğiniz üzere kullandığımız serverlerde normal bir bilgisayardır ve sunuculardada işletim sistemi olur. genellikle biz php ile kodlanmış sitelerimiz için linux işletim sistemini kullaırız bende exec() komutunda linux komutlarını kullanacağım.
Unutmadan söyleyeyim exec() fonksiyonu serverde arkaplanda komut çalıştırmak için kullanılır.
örnekle açıklayacak olursak :
Linuxta içinde bulunduğumuz dizine ait dosya ve dizinleri ls komutuyla listeleriz.
php ile dizinlerimizi listeletmek istersek :
$ucBirim="ls"; // çalıştırılacak kodumuz
exec($ucBirim,$gelenVeri); // gelen verimiz dizi şeklinde olacaktır
// dizinlerimizi yazdıralım
foreach($gelenVeri as $attr){ echo "$attr <br/>"; // verimizi yazdırdık }
Yukarıda gördüğünüz gibi linuxtaki kodumuzu kullandık birde windows için pink attırma örneği yaparak anlatımımızı pekiştirip nokta koyalım.
Php exec() ile Pink atmak
öncelikle vindowsta sitemize ping atmak içinping siteadi.com şeklinde ping attırırız hemen kodlarımıza geçelim
$cmd="ping siteadi.com"; // ping atma kodumuz exec($cmd,$gelen); // kodumuzu çalıştıralım foreach($gelen as $veri) echo "$veri <br/>"; // ekranda ping kodlarımız çıkacaktır.
Daha fazla bilgi için iletişim kısmından veya yorum atarak yardım alabilirsiniz.
Hocam ben php ile sunucudaki bir programı çalıştırmak istiyorum. Mesala wget.
YanıtlaSilping atma konusunda yardımcı oldunuz teşekkür ederim
YanıtlaSil