Есть некий скрипт 1.php
В этой же папке лежит 2.php
Какой параметр нужно передать функции system что бы 1.php запустил 2.php, дождался его выполнения и продолжил работу?
Дело происходит на локале, в денвере.
Да, и в чем разница между system() и exec()?
Спустя 1 час, 28 минут, 43 секунды (13.07.2009 - 21:03) Nikitian написал(а):
PHP |
<?php |
или
PHP |
<?php |
или
PHP |
<?php |
system возвращает последнюю строку вывода, exec возвращает весь вывод. Хитрые кавычки тоже возвращают весь вывод. Вроде в этом отличия
Не забывайте дать права на запуск для скрипта 2.php и в его начале прописать
Код |
#! /usr/bin/php5 |
ну или где у вас он валяется
Спустя 22 минуты, 55 секунд (13.07.2009 - 21:26) krasilich написал(а):
хм, так и думал, но не работает.... 1.php выполняется полностью, в месте где должен быть вывод из 2.php просто ничего нет. ошибок нет.
!#/usr/bin/php5 это путь к интерпретатору php?
!#/usr/bin/php5 это путь к интерпретатору php?
Спустя 19 минут, 37 секунд (13.07.2009 - 21:46) Nikitian написал(а):
#! /usr/bin/php - путь к php-интерпретатору.
Спустя 1 минута, 22 секунды (13.07.2009 - 21:47) waldicom написал(а):
Цитата (Nikitian @ 13.07.2009 - 20:03) | ||
... Не забывайте дать права на запуск для скрипта 2.php и в его начале прописать
ну или где у вас он валяется |
Это есть не обязательное условие. Запускать можно и так:
PHP |
shell_exec("php <PATH>/2.php"); |
Спустя 3 минуты, 35 секунд (13.07.2009 - 21:51) Nikitian написал(а):
Я буквально понял ТС:
Цитата |
запустил 2.php |
а ежели выполнить надо, то можно и вообще таким извращённым способом:
PHP |
<?php |
Спустя 17 минут, 50 секунд (13.07.2009 - 22:09) krasilich написал(а):
хм, не думал что когда то это скажу, но походу я идиот=)
Итак.
1.php
Итак.
1.php
PHP |
<?php |
2.php
PHP |
<?php |
Запускаю, выводит только start, end. Что не так?
Спустя 19 минут, 14 секунд (13.07.2009 - 22:28) Nikitian написал(а):
Пожалуй соглашусь с вами:
PHP |
<?php |
Спустя 11 минут, 11 секунд (13.07.2009 - 22:39) Alchemist написал(а):
"Абрам Иваныч, вы либо крестик снимите, либо трусы наденьте..." (с)
Либо вы запускаете файл 2.php как пхп-скрипт, через интерпретатор, и тогда:
1) строка !#/usr/bin/php5 не нужна
2) запускается так: `php -f 2.php`; или shell_exec('php -f 2.php');
...либо вы запускаете файл 2.php как внешнюю программу и тогда:
1) у файла должен быть permission на выполнение (например 0555)
2) первой строкой файла (а не кода !!) должна быть строка !#/usr/bin/php5
3) запускается так: `2.php`; или shell_exec('2.php');
В обоих случаях результат работы файла не пойдет на вывод, а будет возвращен в запускающий скрипт. Если хочется увидеть результат на экране, то надо либо выполнять echo на возвращаемое значение, либо запускать скрипт через функцию passthru().
Либо вы запускаете файл 2.php как пхп-скрипт, через интерпретатор, и тогда:
1) строка !#/usr/bin/php5 не нужна
2) запускается так: `php -f 2.php`; или shell_exec('php -f 2.php');
...либо вы запускаете файл 2.php как внешнюю программу и тогда:
1) у файла должен быть permission на выполнение (например 0555)
2) первой строкой файла (а не кода !!) должна быть строка !#/usr/bin/php5
3) запускается так: `2.php`; или shell_exec('2.php');
В обоих случаях результат работы файла не пойдет на вывод, а будет возвращен в запускающий скрипт. Если хочется увидеть результат на экране, то надо либо выполнять echo на возвращаемое значение, либо запускать скрипт через функцию passthru().
Спустя 7 минут, 44 секунды (13.07.2009 - 22:47) krasilich написал(а):
Понял свою ошибку. Спасибо за обьяснения.