А если попробовать в консоли - что происходит, что пишет?
30 секунд - это ограничение на время работы скрипта, для исключения ситуаций зависания. То есть у тебя скрипт чего-то ждёт или виснет, а php его тупо рубит
Так я в консоли и пишу php my_script.php
скрипт отрабатывает корректно и выходит (судя по консоли), а наутилус висит после этого... Как наутилус может быть связан с консолью и пыхом - это для меня вопрос...
Цитирую заголовок пых-пых скрипта, написаннного в рассчёте на выполнение из CLI (его запуск так, чтобы он ещё работал - вообще отдельная песня, в этот оффтопик пока углубляться не буду):
<?
include
...
?>
И другой скрипт, рассчитанный на Индейца (оба файла типа .php):
Из того, что скрипт не пишет ничего в stdout (или даже stderr) ещё не следует того факта, что он отработал корректно.
Поведение Наутилуса лично для меня - вообще загадка.
Есть подозрение, что его поведение объясняется функциональностью (содержимым) запускаемого скрипта.
ЗЫ: Извини. С учётом последнего комментария мои замечания теряют актуальность.
Наутилус в режиме браузера? URL?
Да нет, скрипт написан лично мной для cli (первый вариант). А вообще разница в версии для апача и cli небольшая.
Рабоает он корректно, т.к. во время написания я всё всегда тестирую, так что в этом точно не промахнулся. Запросов или чего там ещё к наутилусу нет, только к данной директории (из неё читаются файлы и записываются в неё файлы).
Само собой, в стандартный вывод он писать ничего не должен, но он пишет, чтобы мне было понятно, завис он или нет ).
Если бы были какие критические ошибки, то в терминале он бы показал это (протестировано во время написания скриптов).
Не, наутилус в режиме просмотра урлов я ещё ниразу не запускал ))) и, честно говоря, даже не знаю... это же не конкверор )
А мне не нужно чтобы скрипт отработал полностью, мне нужно отловить момент когда наутилус виснет, а когда нет.
После Hello, World он виснет?
После одной строчки твоего скрипта висне?
После трёх? Десяти?
После какой команды происходит зависание?
Да нет, скрипт написан лично мной для cli (первый вариант). А вообще разница в версии для апача и cli небольшая.
Ну вот... Я же специально сделал оговорку на предмет существенной зависимости степени отличия от функциональности...
Предлагаю пофлеймить на этот счёт :)
shiriy написал:
Не, наутилус в режиме просмотра урлов я ещё ниразу не запускал ))) и, честно говоря, даже не знаю... это же не конкверор )
А что флеймить-то )))
Я только одно отличие помню - это то, что в cli режиме пых не работает с относительными ссылками на файлы, т.е. нельзя написать например $fd=fopen("somefile");, нужно писать $fd=fopen("/some/directiry/somefile");
Anarchist написал:
Какой каталог смотришь в этот момент?
ну например сейчас открыт в наутилусе /home/user/Desktop, но это же не урл.
На самом деле это не так - апач просто автоматически переходит в каталог, где исполняется скрипт, а php сам по себе этого не делает:
stalker@stalkyard ~ $ mkdir test
stalker@stalkyard ~ $ cd test
stalker@stalkyard ~/test $ echo 123 > test.txt
stalker@stalkyard ~/test $ cat test.php
<?php
$f = fopen('test.txt', 'r+');
echo fread($f, 100);
fclose($f);
?>stalker@stalkyard ~/test $ php test.php
123
stalker@stalkyard ~/test $ cd ..
stalker@stalkyard ~ $ php test/test.php
Warning: fopen(test.txt): failed to open stream: No such file or directory in /home/stalker/test/test.php on line 3
Warning: fread(): supplied argument is not a valid stream resource in /home/stalker/test/test.php on line 4
Warning: fclose(): supplied argument is not a valid stream resource in /home/stalker/test/test.php on line 5
Пути указываются относительно каталога в котором лежит файл запрошенного скрипта
include и request меняют каталог, но думаю это справедливо и для cli.
Сейчас сделаю эксперимент ))
Пути указываются относительно каталога в котором лежит файл запрошенного скрипта
include и request меняют каталог, но думаю это справедливо и для cli.
Сейчас сделаю эксперимент ))
А... Понял.
Это если использовать спецсимволы (типа '.', коя, как известно, обозначает в данном случае текущий каталог).
Всё-таки по include в cli режиме смены каталога не происходит, в апаче сейчас протестировать не могу, глючит форвардинг на серваке и не могу понять в чём фишка, а из-за этого не могу нормально работать со своим сервером
А что флеймить-то )))
Я только одно отличие помню - это то, что в cli режиме пых не работает с относительными ссылками на файлы, т.е. нельзя написать например $fd=fopen("somefile");, нужно писать $fd=fopen("/some/directiry/somefile");
На самом деле этот момент значит немного не то :) Уже объяснили.
Например - ситуация, когда для корректного выполнения php-скрипта необходимо задание правильного значения некоторой переменной (старая песня о главном: Oracle && TNS_ADMIN).
Я бы рекомендовал раскрыть тему:
Что за скрипт (в смысле - формат; мой личный опыт говорит, что, формат скрипта www и запуска из cli мягко говоря "несколько" различаются, хотя есть подозрение, что степень различия существенно аврьируется в зависимости от функциональности)?
Как запускается?
Что он делает (должен делать) и корректно ли отрабатывает?
Про формат не понял, обычный скрипт на пыхе.
Запускается вручную: захожу в директорию, где он лежит и запускаю: php my_script.php
Скрипт обрабатывает логи апача на предмет нужной мне информации и создаёт файл с результатом, по ходу выдаёт в консоль инфу (что конкретно сейчас делает, чтоб мне не скучно было полторы минуты в монитор пялиться), завершается корректно. Но висит после этого именно наутилус а не пых, это в htop'е ясно видно, через десяток-другой секунд (точно не засекал) наутилус отвисает...
А если попробовать в консоли
А если попробовать в консоли - что происходит, что пишет?
30 секунд - это ограничение на время работы скрипта, для исключения ситуаций зависания. То есть у тебя скрипт чего-то ждёт или виснет, а php его тупо рубит
-= Concordia victoriam gignit =-
Так я в консоли и пишу php
Так я в консоли и пишу
php my_script.phpскрипт отрабатывает корректно и выходит (судя по консоли), а наутилус висит после этого... Как наутилус может быть связан с консолью и пыхом - это для меня вопрос...
Мда... :( Ты меня не
Мда... :(
Ты меня не понял.
Цитирую заголовок пых-пых скрипта, написаннного в рассчёте на выполнение из CLI (его запуск так, чтобы он ещё работал - вообще отдельная песня, в этот оффтопик пока углубляться не буду):
И другой скрипт, рассчитанный на Индейца (оба файла типа .php):
Из того, что скрипт не пишет ничего в
stdout(или дажеstderr) ещё не следует того факта, что он отработал корректно.Поведение Наутилуса лично для меня - вообще загадка.
Есть подозрение, что его поведение объясняется функциональностью (содержимым) запускаемого скрипта.
ЗЫ: Извини. С учётом последнего комментария мои замечания теряют актуальность.
Наутилус в режиме браузера? URL?
:wq
--
Live free or die
Да нет, скрипт написан лично
Да нет, скрипт написан лично мной для cli (первый вариант). А вообще разница в версии для апача и cli небольшая.
Рабоает он корректно, т.к. во время написания я всё всегда тестирую, так что в этом точно не промахнулся. Запросов или чего там ещё к наутилусу нет, только к данной директории (из неё читаются файлы и записываются в неё файлы).
Само собой, в стандартный вывод он писать ничего не должен, но он пишет, чтобы мне было понятно, завис он или нет ).
Если бы были какие критические ошибки, то в терминале он бы показал это (протестировано во время написания скриптов).
Не, наутилус в режиме просмотра урлов я ещё ниразу не запускал ))) и, честно говоря, даже не знаю... это же не конкверор )
Вставь в скрипт die
Вставь в скрипт
die ("123");и переноси его с начала скрипта по несколько команд вперёд, чтобы отловить где происходит зависание.
Может он виснет вообще на
<?php echo "hello, world!"; ?>-= Concordia victoriam gignit =-
ещё раз повторю - сам скрипт
ещё раз повторю - сам скрипт не виснет, отрабатывает своё и заканчивается приглашением ввести новую команду в консоли.
А мне не нужно чтобы скрипт
А мне не нужно чтобы скрипт отработал полностью, мне нужно отловить момент когда наутилус виснет, а когда нет.
После Hello, World он виснет?
После одной строчки твоего скрипта висне?
После трёх? Десяти?
После какой команды происходит зависание?
-= Concordia victoriam gignit =-
и вот этим die ("123"); я
и вот этим
die ("123");я отловлю то место, с которого зависает наутилус?
Можно просто комментировать
Можно просто комментировать остаток скрипта, если это удобнее
-= Concordia victoriam gignit =-
ну, похоже вычленил место,
ну, похоже вычленил место, где пых наутилус вешает...
буду думать, что там не так... )
.
А процитировать? :)
:wq
--
Live free or die
.
Ну вот... Я же специально сделал оговорку на предмет существенной зависимости степени отличия от функциональности...
Предлагаю пофлеймить на этот счёт :)
Какой каталог смотришь в этот момент?
:wq
--
Live free or die
А что флеймить-то ))) Я
А что флеймить-то )))
Я только одно отличие помню - это то, что в cli режиме пых не работает с относительными ссылками на файлы, т.е. нельзя написать например
$fd=fopen("somefile");, нужно писать$fd=fopen("/some/directiry/somefile");ну например сейчас открыт в наутилусе /home/user/Desktop, но это же не урл.
На самом деле это не так -
На самом деле это не так - апач просто автоматически переходит в каталог, где исполняется скрипт, а php сам по себе этого не делает:
stalker@stalkyard ~ $ mkdir test stalker@stalkyard ~ $ cd test stalker@stalkyard ~/test $ echo 123 > test.txt stalker@stalkyard ~/test $ cat test.php <?php $f = fopen('test.txt', 'r+'); echo fread($f, 100); fclose($f); ?>stalker@stalkyard ~/test $ php test.php 123 stalker@stalkyard ~/test $ cd .. stalker@stalkyard ~ $ php test/test.php Warning: fopen(test.txt): failed to open stream: No such file or directory in /home/stalker/test/test.php on line 3 Warning: fread(): supplied argument is not a valid stream resource in /home/stalker/test/test.php on line 4 Warning: fclose(): supplied argument is not a valid stream resource in /home/stalker/test/test.php on line 5-= Concordia victoriam gignit =-
???
Да?
А мне почему-то казалось, что в случае Индейца указываются пути относительно
DocumentRoot(ну и с учётом Alias'ов)...:wq
--
Live free or die
Пути указываются относительно
Пути указываются относительно каталога в котором лежит файл запрошенного скрипта
include и request меняют каталог, но думаю это справедливо и для cli.
Сейчас сделаю эксперимент ))
-= Concordia victoriam gignit =-
.
А... Понял.
Это если использовать спецсимволы (типа '
.', коя, как известно, обозначает в данном случае текущий каталог).:wq
--
Live free or die
без './' каталог в php тоже
без './' каталог в php тоже будет текущим
-= Concordia victoriam gignit =-
Всё-таки по include в cli
Всё-таки по include в cli режиме смены каталога не происходит, в апаче сейчас протестировать не могу, глючит форвардинг на серваке и не могу понять в чём фишка, а из-за этого не могу нормально работать со своим сервером
-= Concordia victoriam gignit =-
.
На самом деле этот момент значит немного не то :) Уже объяснили.
Например - ситуация, когда для корректного выполнения php-скрипта необходимо задание правильного значения некоторой переменной (старая песня о главном: Oracle && TNS_ADMIN).
:wq
--
Live free or die
Вот и я не пойму, каким боком
удалено
-= Concordia victoriam gignit =-
Я бы рекомендовал раскрыть
Я бы рекомендовал раскрыть тему:
Что за скрипт (в смысле - формат; мой личный опыт говорит, что, формат скрипта www и запуска из cli мягко говоря "несколько" различаются, хотя есть подозрение, что степень различия существенно аврьируется в зависимости от функциональности)?
Как запускается?
Что он делает (должен делать) и корректно ли отрабатывает?
:wq
--
Live free or die
Скрипт - обычный
Скрипт - обычный php
Про формат не понял, обычный скрипт на пыхе.
Запускается вручную: захожу в директорию, где он лежит и запускаю:
php my_script.phpСкрипт обрабатывает логи апача на предмет нужной мне информации и создаёт файл с результатом, по ходу выдаёт в консоль инфу (что конкретно сейчас делает, чтоб мне не скучно было полторы минуты в монитор пялиться), завершается корректно. Но висит после этого именно наутилус а не пых, это в htop'е ясно видно, через десяток-другой секунд (точно не засекал) наутилус отвисает...