Войти

Показать полную графическую версию : Запуск програм из PHP


DaRiYs
29-04-2008, 18:46
Подскажите подалуйста как запустить программу из РНР. Я в принципе знаю что функцией exec но ниче неполучается.((( Может дело в правильности прописывания пути к файлу?Структура папок такова: на сервере есть папки для ХТМЛ доков htdocs и для CGI папка cgi-bin. В папке cgi-bin лежит файл file.exe. Как мне его запустить? Я писал в exec такое ../cgi-bin/file.exe, но ниче не пашет. Как мне его запустить и какой синтаксис для запуска программы с параметрами типа /p и тд? Заранее благодарен.

bruder
29-04-2008, 19:23
релятивный путь не понимает, надо абсолютный. Типа

exec('C:\WINDOWS\system32\notepad.exe');

Остальное в мануале ( http://de.php.net/function.exec) посмотреть и комментарии людей там, иногда пишут интересные вещи

DaRiYs
29-04-2008, 19:31
как я пропишу абсолютный? Ет не у меня на компу, а у хостера на серваке.

bruder
29-04-2008, 21:10
а кто ж права даст на выполнение левому юзеру в папке cgi-bin?

DaRiYs
29-04-2008, 21:27
Права на выполнение ет уж я сам както оформлю, мне всеволиш нужно научится запускать программы, а остальное моя забота.)))))

vadimiron
29-04-2008, 21:29
DaRiYs,
Я писал в exec такое ../cgi-bin/file.exe, но ниче не пашет »
Какие ошибки выводятся??

С хостингом врядли такое получится - спросите у своего хостера, возможно ли запускать свои программы.

Очень часто хостеры просто саму функцию запрещают ради безопасности....

DaRiYs
29-04-2008, 22:10
Никаких ошибок нет. Просто незапускает и все.

bruder
29-04-2008, 22:57
а попробуй такое извращение

$a = realpath('../../cgi-bin/').'calc.exe';
exec($a);

../../cgi-bin/' релятивный путь к cgi-bin

DaRiYs
30-04-2008, 00:01
Не. Извращение непомогло. :( :(

bruder
30-04-2008, 00:10
самое интересное у меня запускает в backgrounde, я его не вижу а taskmanagere он вместе с cmd запущен! Попробуй выведи

echo realpath('../../cgi-bin/').'calc.exe';

а потом в проводнике вывести, правильно ли ты задал релативную тропу.

vadimiron
30-04-2008, 10:04
DaRiYs,
А что программа должна делать?? Может налог на PHP найти??

bruder
30-04-2008, 11:18
извиняюсь один слеш забыл

$a = realpath('../../cgi-bin/').'\calc.exe';

exec($a);

DaRiYs
30-04-2008, 12:55
DaRiYs,
А что программа должна делать?? Может налог на PHP найти?? »

Ну если подскажете компилятор Pascal на РНР то я токо за буду. :help:
Да а может можно както запустить БАТник из РНР так чтоб он в фоне работал.
Когда я делаю прямую ссылку на БАТник в папке cgi-bin то прога работает, но мне откривается новая страница на которой выведено все то что появляется в командной строке БАТника, а мне ет ненужно. Мне нада чтоб он запускался и никаких результатов своей работы на страницу не выводил.

bruder
30-04-2008, 13:13
расскажи хоть как запустил батник из cgi-bin, интересно всетаки. А там подумаем как запустить в фоне :)

DaRiYs
30-04-2008, 14:29
Оч просто.
echo"<a href='../cgi-bin/file.bat'>Ссылка на батник</a></p>";
Но ет по ссылке а как подругому я незнаю. :sorry:
А че насчет компилятора Pascal на РНР? Такой хоть есть?

bruder
30-04-2008, 19:17
дело в том что у провайдера наверняка стоит linux, искать как запустить на винде в фон смысла нет. Завтра выходной у меня попробую дома на ubunte

DaRiYs
04-05-2008, 14:20
Народ кто че еще знает? Помагитеееееее!!!!

vadimiron
04-05-2008, 14:30
DaRiYs,
Скажите, как вам провайдер "disable_functions" настроил?? Что выводит эта настройка??




© OSzone.net 2001-2012