PDA

View Full Version : آموزش: انجام چند دستور لینوکس با تابع exec و یا shell_exec



generalhak
دوشنبه 06 آبان 1392, 14:11 عصر
سلام
من از تابع shell_exec و یا exec استفاده میکنم مثلا به این صورت :


exec("cd sub && lftp && pget http://site.com/file.zip");

ولی هیچ کاری انجام نمیشه مثلا اگر pwd تنها رو بزنم مسیر رو نشون میده اما اگر اینطوری بزنم
cd sub && pwd
اینطوری بازم همون مسیرر رو نشون میده ! در صورتی که باید مسیر جدید رو نشون بده !
در خود ssh برای انجام این کار باید به این صورت دستورات رو بزنم : (هر کدوم در یک خط)


cd sub
lftp
pget http://site.com/file.zip

ممنون میشم راهنمایی کنید

navid3d_69
دوشنبه 06 آبان 1392, 23:16 عصر
این تابع روی خیلی از هاست ها به خاطر امنیت بسته هست و حتما برای استفاده از این روش ها امنیت رو در نظر داشته باشید چون با یک دستور میشه کل اطلاعات هاست شمارو پاک کرد و ...

FastCode
دوشنبه 06 آبان 1392, 23:28 عصر
exec("bash -c 'cd sub && lftp && pget http://site.com/file.zip'");
وقتی یک دستور اجرا میشه یعنی هاست مشکلی با باز و بسته بودن exec نداره.