Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1267 • Страница 45 из 64<  1 ... 42  43  44  45  46  47  48 ... 64  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 07.01.2010
что пишет? пхп как модуль подключён?



Партнер
 

Member
Статус: Не в сети
Регистрация: 09.04.2006
А PHP скрипт, на выполнение которого нужно время, и который медленно передаёт данные клиенту
Например такой:
Код:
<?php
$abc=21;
for($i=0; $i<100000000;$i++)
{
$abc=$i*$i^$i-$i;

Echo $abc;

}

?>


- перестаёт выполнятся как только у клиента браузер закрывает соединение? (я смотрю нагрузка на процессор падает)?
А браузер посылает серверу что-нибудь, что-бы уведомить, что ему больше не нужно?
А как с остальными скриптами? Допустим я хочу написать что-нибудь, работающее с системными процессами в течении длительного времени - это невозможно? Т.Е. запустил из браузера script.php закрыл браузер и забыл про него, а там цикл выполняется допустим, а потом запустил stopscript.php и там команда, для остановки этого скрипта -это невозможно, да?


Точнее нет, туплю, есть же время ограничения запуска для скрипта... значит так, php файл может запустить из себя новый php скрипт? Если да, то пусть бы они так циклично и запускались, но в каждом была-бы проверка конфигурационного файла, и если там было бы значение 1, то запуск продолжался-бы а если 0 то скрипты бы дохли. И вот stopscript.php банально писал-бы в этот файл - такое возможно?
Я конечно понимаю, что глупо для таких вещей использовать php но я пока ещё зелёный и экспериментирую :)

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
можно написать демона на пхп, который будет запускаться через php консольный на сервере, типа
Код:
/usr/local/bin/php /home/moty/mydemon.php

а эту команду выполнять уже из веб-скрипта обычного через system()
сделать такое можно как на винде, так и на линуксе


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
ToSHiC писал(а):
а эту команду выполнять уже из веб-скрипта обычного через system()
сделать такое можно как на винде, так и на линуксе



Спасибо.

Вот такой вопрос:
у system() passthru() и exec() требуют редиректа потока куданибудь или в файл....
Цитата:
Note: If a program is started with this function, in order for it to continue running in the background, the output of the program must be redirected to a file or another output stream. Failing to do so will cause PHP to hang until the execution of the program ends.

Т.е. я правильно понял либо echo, либо какая-нибудь функция записи в файл иначе никакого выполнения скрипта, пока процесс не закроется....

Вопрос: если мне не надо никуда ничего выводить, то что мне делать? Нашёл в комментариях к мануалу функции popen решение, но оно у меня не работает: pclose(popen('комманда', 'r'));



И ещё вот вопрос:
Допустим у нас есть скрипт, и во время своей работы он создаёт большой массив, на который уходит определённое количество памяти....

так вот если:

...код, наполняющий массив $array

$array_copy=$array;

теперь потребление памяти удвроиться, т.к. у нас уже 2 больших массива?

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
по первому пункту - man nohup
по второму - чёрт его знает, как оно в пхп реализовано.. скорее всего удвоится, т.к. явно ты ссылки не указывал


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
ToSHiC писал(а):
по первому пункту - man nohup


ээээ а под виндой?

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
а под виндой, думается мне, будет вполне достаточно
Код:
system("mycommand.exe > output.log");

или даже вообще без аутпута работать будет


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
ToSHiC а output.log тогда где физически расположен?


P.S. зачем кому-то нужны были такие сложности?

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
напиши до него полный путь, тогда будешь точно знать, где он:) по-умолчанию должен появиться в той же директории, в которой находится скрипт, открытый через браузер


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
Почему так?
<?php
$count=3;
for($i=0; $i<1000;$i++)
{
$count=$count*2;
}
echo " count: $count";
?>

Выводит count: 3.2145258215588E+301

<?php
$count=3;
for($i=0; $i<1000;$i++)
{
$count=$count*3;
}
echo " count: $count";

?>

Выводит count: INF
(бесконечность?)

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
moty *капитан очевидность mode*
Слишком большое число может быть ?

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX1070TI/KINGSTON-SNV2S1000G


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
Vladson писал(а):
moty *капитан очевидность mode*
Слишком большое число может быть ?



А заставить его забить на большевизну чисел можно?

Эдит, всё, понял, вроде-бы надо GMP для таких вещей использовать. Или другую какую библиотеку...

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


Последний раз редактировалось moty 17.04.2010 22:40, всего редактировалось 1 раз.

 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
Можно спросить зачем подобное может быть нужно ?
(всегда думал и даже настаиваю что РНР это больше WEB язык)

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX1070TI/KINGSTON-SNV2S1000G


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
Vladson писал(а):
Можно спросить зачем подобное может быть нужно ?


Поэкспериментировать.
Хотел сделать что-то, что забило-бы оперативную память.

Так, это наверное очень глупо, но...
<?php
$count=3;
ini_set("precision", 4000);
for($i=0; $i<100;$i++)
{
$count=$count*2;
echo "$i count: $count <br>";
}
?>

В выводе: что за точка и двоеточие на конце числа в строках 34, 35 и 37?

у меня это выглядит так:

32 count: 25769803776
33 count: 51539607552
34 count: 103079215103.:
35 count: 206158430207.:
36 count: 412316860416
37 count: 824633720831.:
38 count: 1649267441664

Эдит, проблема выявлена, это возникло из за ini_set("precision", 4000);

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


Последний раз редактировалось moty 18.04.2010 4:21, всего редактировалось 1 раз.

 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
moty писал(а):
что-то, что забило-бы оперативную память

Так сделай массив и заполняй его случайными цифрами... (если элементов будет много то и память забьётся)

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX1070TI/KINGSTON-SNV2S1000G


 

Advanced member
Статус: Не в сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 54
Vladson писал(а):
Так сделай массив и заполняй его случайными цифрами... (если элементов будет много то и память забьётся)

Нифига. Забьется лимит памяти для скрипта, и он выпадет в осадок с сообщением об ошибке.

_________________
14900KS @ 6100/4800
96G Trident Z5 @ 7200 (34-42-42-53, ICE-RDT)
z790 Aorus Master X
RX 6900XT GAMING OC 16G+Bykski WB
macOS Sequia 15.5


 

Member
Статус: Не в сети
Регистрация: 09.04.2006
HertZ писал(а):
Vladson писал(а):
Так сделай массив и заполняй его случайными цифрами... (если элементов будет много то и память забьётся)

Нифига. Забьется лимит памяти для скрипта, и он выпадет в осадок с сообщением об ошибке.



Ну лимит то можно поправить заранее отредактировав php.ini :tooth:

_________________
Библиотеки Windows - Мы заставим ваши папки тормозить!


 

Advanced member
Статус: Не в сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 54
moty писал(а):
Ну лимит то можно поправить заранее отредактировав php.ini :tooth:

Ну если админ хостинга идиот, то можно.

_________________
14900KS @ 6100/4800
96G Trident Z5 @ 7200 (34-42-42-53, ICE-RDT)
z790 Aorus Master X
RX 6900XT GAMING OC 16G+Bykski WB
macOS Sequia 15.5


 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
HertZ речь идёт о
moty писал(а):
Поэкспериментировать

такие вещи (чаще всего) делаются на собственном компе.

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX1070TI/KINGSTON-SNV2S1000G


 

Advanced member
Статус: Не в сети
Регистрация: 27.02.2007
Откуда: Москва
Фото: 54
Vladson, ну тогда другое дело... Просто я не вижу никакого смысла в этом... Ну сожрет оно память, и что дальше-то? Это то же самое, что поэкспериментировать и определить по календарю, что после понедельника будет вторник. Никого не хочу обитеть, просто предложение заняться более интересными вещами )

_________________
14900KS @ 6100/4800
96G Trident Z5 @ 7200 (34-42-42-53, ICE-RDT)
z790 Aorus Master X
RX 6900XT GAMING OC 16G+Bykski WB
macOS Sequia 15.5


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 1267 • Страница 45 из 64<  1 ... 42  43  44  45  46  47  48 ... 64  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan