Встала колом задачка. Нужно из под программки, написанной на C++ выполнить команду
# php index.php
FILE *php = popen("php ", "w");
//FILE *php = popen("/usr/bin/php ", "w"); и ЭТОТ вариант пробовал
fputs("index.php", php);
fclose(php);
Не выполняется. Есть варианты? Что не правильно?
Здравствуйте, 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().
С>В твоем коде интерпретатор php запускался без аргументов и зачем-то ему на стандартный воод подавалось имя файла. php без аргументов, насколько я помню, со стандартного ввода читает php-код для выполнения.
С>Ну и после popen() поток надо закрывать при помощи pclose().
За pclose() Спасибо! Проморгал.
php index.php
Выполняет код из index.php
Скомпилил — работает. Спасибо.