Проблема с exec

Nikolay

Новичок
Проблема с exec

в папке лежат два 2 php файла. Из одного вызывается другой функцией exec
exec("c:\server\php\php.exe open.php");
в результате возникает 500 ошибка сервера...
Подскажите плиз в чем может быть дело?
 

Crazy

Developer
Re: Проблема с exec

Автор оригинала: Nikolay
exec("c:\server\php\php.exe open.php");
Это настоящий код или горячечная фантазия? Если настоящий -- замени exec на print и посмотри глазами в браузере, ЧТО ты пытаешься запустить.
 

Nikolay

Новичок
Re: Re: Проблема с exec

Автор оригинала: Crazy
Это настоящий код или горячечная фантазия?
настоящий скрипт выглядит так

<?php
exec("c:\server\php -q c:\server\Apache\htdocs\exec\open.php");
?>

файл open.php пока просто для тестирования
<?php
$path = realpath("./")."/data.txt";
$fp = fopen($path,"w");
fwrite($fp,"test");
fclose($fp);
?>

при выполнении exec ничего не происходит, ни сообщений об ошибках нет ничего прочего, но файл data.txt не создается.
Пробовал использовать echo `` но результат тот же.
 

Crazy

Developer
Re: Re: Re: Проблема с exec

Автор оригинала: Nikolay
настоящий скрипт выглядит так

<?php
exec("c:\server\php -q c:\server\Apache\htdocs\exec\open.php");
?>
Сделай так:

Код:
<?php
print("c:\server\php -q c:\server\Apache\htdocs\exec\open.php");
?>
И смотри внимательно, что появится в браузере. Потому думай, почему.
 

master_x

Pitavale XXI wieku
Crazy
насчет путей, понятно, как он сглупил... а вот почему 500 ошибка вылетает?
 

Nikolay

Новичок
Re: Re: Re: Re: Проблема с exec

Автор оригинала: Crazy

И смотри внимательно, что появится в браузере. Потому думай, почему.
Что написано внутри exec то и появляется

c:\server\php -q c:\server\Apache\htdocs\exec\open.php

я не понимаю к чему ты клонишь, поясни?
 

Nikolay

Новичок
если написать
exec("c:\server\php\php.exe -q c:\server\Apache\htdocs\exec\open.php");
то страница виснет а в диспетчере задач начинают появляться процессы php.exe
 

SiMM

Новичок
А запускаешь ты, в браузере, конечно же http://localhost/exec/open.php ?
 

Crazy

Developer
Возрадуйся -- у тебя нет файла c:\server\php\php (без расширения). Потому ничто и не запускалось.

И, кстати, прочитай в мануале, что значит \ внутри двойных кавычек. Иначе со временем тебя ждут веселые грабли.
 

Nikolay

Новичок
Автор оригинала: SiMM
А запускаешь ты, в браузере, конечно же http://localhost/exec/open.php ?
нет, запускаю я в браузере
http://localhost/exec/test_exec.php

-~{}~ 09.11.05 18:25:

Автор оригинала: Crazy
Возрадуйся -- у тебя нет файла c:\server\php\php (без расширения). Потому ничто и не запускалось.

И, кстати, прочитай в мануале, что значит \ внутри двойных кавычек. Иначе со временем тебя ждут веселые грабли.
\ внутри двойных кавычек означает если я не ошибаюсь, экранирование спец символов, а по поводу того что у меня нет файла php без расширения, так какой путь мне указывать к файлу php.exe?
 

Nikolay

Новичок
Автор оригинала: master_x

даже если в экзеке неправильный путь, все равно с этой 500 ошибкой сервер не вылетает.
как показала практика, 500 ошибка вылетала после того, как в exec путь к php.exe указывался как c:\server\php\php.exe и почему то создавалось около 20 процессов php.exe, и при повторной попытке запуска возникала 500 ошибка
 

master_x

Pitavale XXI wieku
ближе всего к решению твоей проблемы подошел SiMM... жди его ответа.
 

Nikolay

Новичок
Неужели ни у кого не было ситуации, когда команда с помощью функции exec не выполняется, а запущенная из командной строки работает нормально, причем все пути - абсолютные
Хоть подскажите почему это может происходить...
 
Сверху