Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Не могу запустить exe через php на windows server 2008 r2.
Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
Здравствуйте. Прошу помощи от Вас. Стоит Windows Server 2008 R2, php, mysql, IIS веб-сервер. Пытаюсь через php документ запустить файл exe, но увы ничего не происходит (должен создаться файл output.txt). У меня есть обработчик на php, который отправляет файл на сервер (в моём случаи exe), и выполняет его. Как выше сказано результата нет. Я изначально закачал файл exe на сервер и указал его путь в php документе. Файл закачивается моментально, но тот exe, который я указал не выполняется. Общий доступ к папке с exe-шником есть. Вот код этого обработчика:
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
gadalov пишет:
exec("upload/prog/program21.exe");
я так думаю нужно указывать полный путь, начиная с буквы диска
----- Чем больше узнаю, тем больше я не знаю.
Мелкий
Отправлено: 12 Июня, 2013 - 17:11:50
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
gadalov пишет:
должен создаться файл output.txt
Где? Внимание, вопрос с подвохом.
PS: 39-45 строки - о json не слышали?
----- PostgreSQL DBA
gadalov
Отправлено: 12 Июня, 2013 - 18:29:15
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
Мелкий пишет:
gadalov пишет:
должен создаться файл output.txt
Где? Внимание, вопрос с подвохом.
PS: 39-45 строки - о json не слышали?
Файл output.txt создаётся самим exe-шником, т.е. он выполняется и создаёт текстовый файл в папке где он и запускается. P.S. Паскаль, операции ввода-вывода.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
gadalov пишет:
в папке где он и запускается
Вы в этом уверены? Что этот бинарник нормально переопределяет рабочий каталог или корректно определяет своё местоположение в иерархии файловой системы?
----- PostgreSQL DBA
gadalov
Отправлено: 12 Июня, 2013 - 19:03:36
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
Мелкий пишет:
gadalov пишет:
в папке где он и запускается
Вы в этом уверены? Что этот бинарник нормально переопределяет рабочий каталог или корректно определяет своё местоположение в иерархии файловой системы?
Ещё раз объясню, если вы запускаете этот exe-шник самостоятельно, то он создаёт текстовый файл без помощи обработчика. Я хочу добится того, чтобы этот обработчик запускал exe-шник с нажатия кнопки (использую форму на HTML). См. код обработчика выше.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Ещё раз спрошу:
Этот бинарник переопределяет рабочий каталог? Или же этот бинарник определяет собственное местоположение и пишет файл с учётом оного? Или тупым относительным адресом, закономерно оказываясь черти где, будучи вызванным черти откуда же?
cd "директория, где расположен ваш скрипт" # скрипт, а не бинарник!
./upload/prog/program21.exe
Что будет?
----- PostgreSQL DBA
gadalov
Отправлено: 12 Июня, 2013 - 19:11:52
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
Мелкий пишет:
Ещё раз спрошу:
Этот бинарник переопределяет рабочий каталог? Или же этот бинарник определяет собственное местоположение и пишет файл с учётом оного? Или тупым относительным адресом, закономерно оказываясь черти где, будучи вызванным черти откуда же?
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
gadalov пишет:
если вы запускаете этот exe-шник самостоятельно, то он создаёт текстовый файл
когда вы запускаете файл самостоятельно, он получает текущий каталог тот из которого его запустили. Если запустить файл скриптом из другого каталога, он получит в качестве текущего именно тот другой каталог. и если программа на паскале написана без определения каталога своего расположения, то она создаст файл в том самом текущем каталоге, из которого была запущена.
т.е. более коректно будет в скрипте сначала установить текущим каталогом тот, в котором лежит экзешник, а потом его запускать.
На случай, если программа на паскале написана не совсем корректно с точки зрения определения своего каталога.
----- Чем больше узнаю, тем больше я не знаю.
gadalov
Отправлено: 12 Июня, 2013 - 22:45:50
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
DelphinPRO пишет:
gadalov пишет:
если вы запускаете этот exe-шник самостоятельно, то он создаёт текстовый файл
когда вы запускаете файл самостоятельно, он получает текущий каталог тот из которого его запустили. Если запустить файл скриптом из другого каталога, он получит в качестве текущего именно тот другой каталог. и если программа на паскале написана без определения каталога своего расположения, то она создаст файл в том самом текущем каталоге, из которого была запущена.
т.е. более коректно будет в скрипте сначала установить текущим каталогом тот, в котором лежит экзешник, а потом его запускать.
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
яя выше по-моему ясно написал - полный путь, начиная с буквы диска
путь в файловой системе! а не URL
т.е. примерно так C:\server\localhost\mod\page\upload\prog\
выделенная часть - это физическая папка на компьютере, где у вас располагаются файлы сайта.
Покинул форум
Сообщений всего: 15
Дата рег-ции: Июнь 2013
Помог: 0 раз(а)
DelphinPRO пишет:
яя выше по-моему ясно написал - полный путь, начиная с буквы диска
путь в файловой системе! а не URL
т.е. примерно так C:\server\localhost\mod\page\upload\prog\
выделенная часть - это физическая папка на компьютере, где у вас располагаются файлы сайта.
Сделал всё как Вы сказали, в общем результата опять нет, и перестал работать тот скрипт, который загружал файл на сервер из-за строчки
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.