popen php
От: std_error  
Дата: 21.03.09 16:45
Оценка:
Встала колом задачка. Нужно из под программки, написанной на C++ выполнить команду

# php index.php



FILE *php = popen("php ", "w");
//FILE *php = popen("/usr/bin/php ", "w"); и ЭТОТ вариант пробовал
fputs("index.php", php);
fclose(php);


Не выполняется. Есть варианты? Что не правильно?
если не по делу: не засоряй канал...
Re: popen php
От: Сергей  
Дата: 21.03.09 16:52
Оценка:
Здравствуйте, std_error, Вы писали:

_>Встала колом задачка. Нужно из под программки, написанной на C++ выполнить команду


_>

_># php index.php



_>
_>FILE *php = popen("php ", "w");
_>//FILE *php = popen("/usr/bin/php ", "w"); и ЭТОТ вариант пробовал
_>fputs("index.php", php);
_>fclose(php);
_>


_>Не выполняется. Есть варианты? Что не правильно?


Наверное, надо так:

FILE *php = popen("php index.php", "r");
/* читаем вывод если надо*/
pclose(php);


В твоем коде интерпретатор php запускался без аргументов и зачем-то ему на стандартный воод подавалось имя файла. php без аргументов, насколько я помню, со стандартного ввода читает php-код для выполнения.
Ну и после popen() поток надо закрывать при помощи pclose().
Re[2]: popen php
От: std_error  
Дата: 21.03.09 17:02
Оценка:
С>В твоем коде интерпретатор php запускался без аргументов и зачем-то ему на стандартный воод подавалось имя файла. php без аргументов, насколько я помню, со стандартного ввода читает php-код для выполнения.
С>Ну и после popen() поток надо закрывать при помощи pclose().

За pclose() Спасибо! Проморгал.

php index.php

Выполняет код из index.php

Скомпилил — работает. Спасибо.
если не по делу: не засоряй канал...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.