Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP

Войти
Регистрация
Восстановить пароль
 
sashok991
19 / 19 / 3
Регистрация: 26.12.2013
Сообщений: 158
#1

Чтение данных из консоли - PHP

12.02.2018, 12:30. Просмотров 127. Ответов 3
Метки нет (Все метки)

Добрый день.
Помогите пожалуйста со следующей проблемой.

Есть сервер на php в бесконечном цикле. Я использовал следующий код для получения данных из консоли.
PHP
1
2
3
4
5
6
7
8
9
if(defined('STDIN')){
                $line = trim(fgets(STDIN)); // читает одну строку из STDIN
                print_r($line);
                switch($line){
                    case 'exit':
                        $this->is_run = false;
                        break;
                }
            }
В итоге сервер зависает в ожидании строки из консоли.
Помогите пожалуйста переписать код так, что бы сервер не ожидал введенных данных, а просто проверял была ли введена строка в консоль и если да, то обрабатывал ее. В противном случае продолжал бы работу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2018, 12:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Чтение данных из консоли (PHP):

Чтение данных из текстового файла - PHP
Подскажите как считать с текстового файла последних десять строчек если если файл записан таким образом: ххх::ххх::ххх::ххх::ххх:: ...

Чтение файла, чтение названия папки где находится файл, запись данных на PHP - PHP
Допустим у нас есть структура с папками типа Large -> Vehicles -> Firetruck_0 В этой папке лежит файл формата .dat Что нужно сделать? ...

Чтение данных из формы - PHP
Если форма передаётся на обработку в стороний РНР фаил то доступ её данным можно получить через суперглобалные массивы $_GET или $_POST! ...

Чтение данных из массива - PHP
Доброго времени суток! Я знаю, что эта тема давно обмусолена, но мне до сих пор непонятно, как применить все знания на моём случае. ...

Чтение данных из текстового поля - PHP
Добрый день. У меня возникла проблема на старте изучения пхп. Не читаются данные из текстового поля. Для работы с пхп использую Denwer. ...

Чтение JSON и вывод данных - PHP
Собственно есть файл: { "result": { "items": } Подскажите пожалуйста, как мне прочитать image_url, где defindex=4832...

3
полудух
177 / 161 / 30
Регистрация: 15.03.2016
Сообщений: 960
12.02.2018, 15:19 #2
погуглите php demon stdin
0
andr-xw
121 / 76 / 18
Регистрация: 05.03.2013
Сообщений: 447
12.02.2018, 16:08 #3
Если поддержка венды не нужна, то вот:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
function getStdIn() {
    $read = ['stdin' => STDIN];
    $write = [];
    $except = [];
 
    $result = stream_select($read, $write, $except, 0, 100);
 
    if ($result === false) {
        throw new Exception('stream_select failed');
    }
 
    return ($result > 0) ? trim(fgets(STDIN)) : '';
}
Но в винде работать не будет, венда считает STDIN всегда доступным для чтения, даже если читать там нечего.

P.S. Хотя возможно у меня просто windows-среда криво настроена.
1
sashok991
19 / 19 / 3
Регистрация: 26.12.2013
Сообщений: 158
12.02.2018, 21:48  [ТС] #4
Цитата Сообщение от полудух Посмотреть сообщение
погуглите php demon stdin
Не хочу работать с PCNTL по причине перекомпиляции php движка. Других вариантов в нэте не нашел.

Цитата Сообщение от andr-xw Посмотреть сообщение
Но в винде работать не будет, венда считает STDIN всегда доступным для чтения, даже если читать там нечего.
Винда - говно! Жалко конечно, разработку веду именно в винде ). За код спасибо, посмотрю, как будет работать на UNIX.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2018, 21:48
Привет! Вот еще темы с ответами:

Чтение данных из многострочного поля! - PHP
Доброе время суток! Занимаясь с учебником, возник вопрос (погуглил, ответа не нашел) Есть поле <textarea> мы ввели несколько строк...

чтение бинарных данных и преобразование в base62 - PHP
приветушки! пытаюсь тут себе в тихую заговнокодить такое дело. а именно - генератор base62 кодов. получилось такое дело(функцию...

Чтение данных из файла в двумерный массив - PHP
Добрый день! Помогите решить задачку... Есть файл, в котором содержатся значения вида 1 10 22 15 13 12 4 17 5 9

Чтение данных из консоли - C#
До сего дня возникали ситуации, когда несколько чисел вводятся в одну строку, и мне их нужно группировать в разные переменные. И делал я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru