PHP exec () fonksiyonu

2 Cevap php

I developed a program on windows xp and I used exec to run a ".bat" file and it worked fine. I copied the exact program on windows 2003 and the bat file didn't run. I used echo before the exec function and it seemed to work fine, I mean it echoed :

D: \ xampp \ htdocs \ x> Rundll32.exe printui.dll, PrintUIEntry / y / n "HP LaserJet P2015 Serisi PS"

but it didn't do anything. I ran the bat file alone and it worked fine. Just doesn't work with exec in windows 2003. any ideas?

2 Cevap

Güvenli mod bu sunucu üzerinde etkin mi? Eğer öyleyse o zaman bu gibi programları çalıştırmak mümkün olmayacaktır. Güvenli modu kapatmak gerekiyor ya safe_mode_exec_dir PHP.ini içinde bu dizin eklemek ya

Manuel

Not: Güvenli mod etkinleştirildiğinde, yalnızca safe_mode_exec_dir içinde dosyaları yürütebilirsiniz. Pratik nedenlerden dolayı, şu anda yürütülebilir yolunda .. bileşenleri için izin verilmez.

IIS kullanıyorsanız, uygulama Internet Konuk yürütmek için ihtiyaç CMD.exe üzerine yürütme hakları oluşturmaktadır. Her kabuk yürütmek CMD.exe -c <your command> olarak çalıştırmak gibi.

Sonra basit bir echo system("dir"); çalıştığını doğrulayın. Bu, geçerli klasörün dizin listesini dönmelidir.

Bu toplu iş dosyasına yürütme hakları hesabı İnternet Misafir vermek zorunda da muhtemeldir ve herhangi bir çalıştırılabilir (bu durumda rundll32.exe) yürütür.