exec не выполняется, но из командной строки всё запускается

Юра

Новичок
exec не выполняется, но из командной строки всё запускается

exec("/usr/local/bin/php /home/bla/bla/bla/test/test2.php >/dev/null &");
На одном хостинге работает и через скрипт и из командной строки.

На другом нет, хотя из командной строки запускается
/usr/local/bin/php /home/bla/bla/bla/test/test2.php >/dev/null &

В чём может быть проблема??
Ну ток, по теме. (а не проблема в хостере).
Спасибо.
 

440hz

php.ru
Юра
убери >/dev/nill и посмотри ответ?

запусти просто php -v и посмотри ответ то же
 

Kosarev

Новичок
покажи что выдаст

PHP:
<?php
exec("/usr/local/bin/php /home/bla/bla/bla/test/test2.php &", $output_array, $return_var);
var_dump($output_array);
var_dump($return_var);
?>
 

Юра

Новичок
Сорри забыл написать, на папку и и на скрипты стоит 777.
 

Alexandre

PHPПенсионер
сделай тест
PHP:
passthru (  "echo bla-bla-bla" ,  $ret);
var_dump( $ret );
возможно хостер мог запретить выполнение exec, passthru или system
 

Юра

Новичок
Права доступа на каталог и скрипты в ней 777.
запусти просто php -v и посмотри ответ то же
запустил из командной строки /usr/local/bin/php -v
Ответ:
PHP 4.3.10 (cgi) (built: Apr 4 2005 04:46:10)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
with Zend Extension Manager v1.0.6, Copyright (c) 2003-2004, by Zend Technologies
with Zend Optimizer v2.5.7, Copyright (c) 1998-2004, by Zend Technologies


покажи что выдаст <?php exec("/usr/local/bin/php /home/bla/bla/bla/test/test2.php &", $output_array, $return_var); var_dump($output_array); var_dump($return_var); ?>
Выдаёт:
array(0) { } int(0)
убери >/dev/nill и посмотри ответ?
Ёпрст...повесил сервак...бл%ть...так...меня забанили похоже...
 

Alexandre

PHPПенсионер
или сделай
print exec ( "whoami" );
если что-то выведет, то значить сам по себе exec работает,
тогда надо искать причину в выполнении самой команды
 

Юра

Новичок
так в том-то и дело
1. Сам exec работает.
2. Команда сама по себе тоже работает (через шел).

А вот команда через exeс не запускается.
 

Alexandre

PHPПенсионер
<?php exec("/usr/local/bin/php /home/bla/bla/bla/test/test2.php &", $output_array, $return_var);
судя по знаку & - ты собираешься запустить процес в фоне.

сколько времени у тебя отрабатывает твой скрипт через шелл?
 

Юра

Новичок
моментально
именно запустить хочу в фоне. По вермени...я для теста сделал простой скрипт.
PHP:
<?
$a=fopen("test.txt", "a+");

for ($i=0;$i<100;$i++)
{
        $b="$i<br>\n";
        echo $b;
        fwrite($a,$b);
}
fclose($a);
?>
так что он оментально отрабатывает
 

Юра

Новичок
через командную сторку с фоном работает...

-~{}~ 12.04.06 21:16:

Проверил уже на 2 хостингах....работает...а там нет, что может быть в конфигах или ещё чего.

-~{}~ 13.04.06 01:25:

Ответ хостера только что получил.

У нас php стоит как cgi а не как модуль апача, поэтому запустить внешнюю программу Вам удастся только из скрипта, оформленного как CGI. Этим скриптом может быть и php-скрипт.
чё делать?
 
Сверху