Почему когда запущен цикл в файле 1 то в файле 2 выполнение php виснет до окончания работы цикла в файле 1 ?!
поясни как ты запускаешь эти файлы Добавлено спустя 12 минут 53 секунды: Код (PHP): <?php while(true) { echo mt_rand(1, 1000000)."\n"; } Код (Text): C:\> start php infiniteloop.php C:\> start php infiniteloop.php
Может многопоточное программирование имеется в виду? В php вроде есть, но как-то заковыристо реализовано, не пробовал. Да и надобности особой в вебе не вижу.
Он в настройке сервера не прописал количество одновременных подключений от одного клиента к серверу. По дефолту единичка. С двух разных адресов(или с двух браузеров на одном адресе), при этом, скрипт легко отработает параллельно. Автор, если ты боишься, что у тебя сервер работает в порядке очереди и что десять человек одновременно не смогут открыть страничку, потому что десятому придется ждать в 10 раз дольше, чем первому, то это не так, не волновайс
Вообщем со страницы 1 запускаю ajax-ом парсинг в файле 2, потом пытаюсь обновить страницу 1 и она на вечной загрузке пока на странице 2 цикл не закончит выполнятся, Но если со страницы 1 удалить весь php код то во время парсинга запущенного в файле 2 она нормально загружается.
Авотxyй. Вангую, что дело в страстной и противоестественной любви к сессиям. Сессионный файл открывается с блокировкой. Поэтому одновременный доступ от одного клиента невозможен. Выход: где не нужна сессия, не стартуй её. Либо session_write_close() ДО того, как начнешь длительны процесс.
Fell-x27, истинна в сессиях, буду спасать ситуацию session_write_close(). Стыдно что я не знал о этом нюансе и столкнулся только сейчас. Я понял что мои знания вообще очень поверхносны(на уровне видеокурсов и собственных экспериментов), читаю что-то о процессах и работе сервера, много не понятных терминов встречаю что не позволяет увидеть нужную картину полностью. Не знаю с чего начать детальное изучение магии веба) что-бы все постепенно понятно становилось и что-бы не много читать)
с изучения HTTP_протокола. Серьезно. И, перед изучением магии веба, надо изучить магию программирования.
AntonMs думаю он имел ввиду изучать как всё работает, обычно это написано в книгах для новичков, например про всю цепочку от запроса сайта в браузере до возврата результата, про HTTP протокол и всё такое. http://phpfaq.ru/newbie/na_tanke
AntonMs думаю он подразумевает алгоритмизацию программирования. программирование без какого-либо четкого контекста - декстопа, утилит, игр, веба и тому подобное. когда ты понимаешь алгоритм то легче дается реализация задуманного. ну а если про веб говорить - то тут соглашусь с denis01 - без понимания того как разрешаются запросы ты мало чего добьешься.
Да. Это как у врачей. Сначала общее образование медицинское, а потом специализация. В итоге и у хирурга и у стоматолога и у терапевта идентичный фундамент, на который опирается специализация. Попытка сразу сходу начать "делать сайты за три дня" - это все равно что сходу учиться хирургии, минуя курсы по анатомии и прочую базу. Скальпелем резать научился. А понимать, что при этом происходит, не научился. Это даже представлять одновременно и страшно и смешно. Так и у программистов. Чтобы стать программистом игр, программистом графики, программистом нейросетей, программистом веба, программистом систем искусственного интеллекта, программистом 1С, программистом микроконтроллеров и тд, сначала нужно стать просто программистом. Это та причина, по которой я презираю всякие видеокурсы "как написать свою CMS за день", которые, по сути, учат "как перепечатать мой код с экрана за один день, не вникая в архитектурные решения, которые в нем лежат, не учитывая время, потраченное на разработку этих решений и вообще, не думая особо."
Вот я и хочу вникнуть, а то возникает путаница иногда. Не видеть полноты картины и программировать не удобно для мозга во время решения задач)