Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выполнение программы shell и получение от неё ответа через php
 
 автор: ZAHTET   (22.07.2011 в 23:42)   письмо автору
 
 

Ситуация такая: Имеется программа(модуль) написанная на шеле. Сама программа находится в папке cgi-bin. Суть её работы простой: Выполняем запрос
echo -ne "TestString123\004\r\n" | ./wmsigner
и получаем текст. Через SSH работает нормально, а на PHP не получается реализовать. Я делал так
<?php 
 shell_exec
("cd /домен/cgi-bin/название программы"); 
 
$result shell_exec('echo -ne "TestString123\004\r\n" | ./wmsigner'); 
 
?>

, но переменная $result каждый раз приимает значение NULL. В чем проблема?Что я не так делал?

  Ответить  
 
 автор: cheops   (22.07.2011 в 23:54)   письмо автору
 
   для: ZAHTET   (22.07.2011 в 23:42)
 

Безопасный режим, конечно же отключен? А что-нибудь попроще, например результат команды ls функция выводит нормально?

  Ответить  
 
 автор: ZAHTET   (23.07.2011 в 10:53)   письмо автору
 
   для: cheops   (22.07.2011 в 23:54)
 

безопасный режим отключен. Результат ls выводит нормально.

  Ответить  
 
 автор: Саня   (23.07.2011 в 11:04)   письмо автору
 
   для: ZAHTET   (22.07.2011 в 23:42)
 

Вообще, cd не меняет текущую рабочую директорию PHP скрипта. Для этого предназначена функция chdir(). И почему бы не использовать абсолютный путь к скрипту?
echo -ne "TestString123\004\r\n" | /домен/cgi-bin/название программы/wmsigner

  Ответить  
 
 автор: ZAHTET   (23.07.2011 в 11:19)   письмо автору
 
   для: Саня   (23.07.2011 в 11:04)
 

Спасибо за совет!Все заработало. Если интересно, то я сделал так:

chdir("путь до программы");
$s = shell_exec('echo -ne "TestString123\004\r\n" | ./wmsigner');

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования