Сам Сценарий PHP рассчитывают как процесс?

С VMware можно использовать физические диски вместо vmdk файлов, если необходимо загрузить их, и т.д. (Если Вы играете при выполнении этого затем, самый легкий путь состоит в том, чтобы загрузить их на реальной машине и установить драйверы VMware),

Кроме того, можно использовать что-то как фантом norton для копирования физического раздела или ISO в vmdk файл.

Также, если Вам только нужен доступ только для чтения, можно смонтировать файлы ISO на виртуальном устройстве CD.

0
задан 12 March 2012 в 20:58
2 ответа

Все зависит.

Если на вашем сервере запущен Apache с mod_php, то ваш PHP-скрипт будет запущен вместе с процессом Apache и будет считаться одним процессом (тот, который Apache запущен для этот HTTP-запрос). Однако, если ваш сценарий использует системные вызовы для использования внешних программ, он, естественно, порождает новые процессы и запускает их. Стоит отметить, что в mod_php каждый сценарий запускается с идентификатором пользователя, на котором запущен Apache, поэтому, если на сервере много пользователей, каждый из них использует те же ресурсы, что и другой.

Если ваш веб-сервер настроен на каком-то другом способ, чем Apache + mod_php (например, Apache + suPHP или Apache + fastCGI или Apache + mpm engine), подсчет процессов - это совершенно другой зверь. Затем сценарии запускаются от имени владельца сценария, и разделение ресурсов становится более простым.

0
ответ дан 5 December 2019 в 16:32

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

Однако, хотя я не рассматривал это, я бы сказал, что если вы запустите сценарий с веб-сервера из-за запроса пользователя, сценарий может, например, быть порожден как поток из процесса веб-сервера или запускаться как часть процесса веб-сервера. Таким образом, чтобы предоставить точную информацию, нужно знать, что именно вы выполняете.

Обновление: из вашего комментария кажется, что может быть полезно изучить решение, в котором у вас работает один процесс, который затем порождает потоки для каждого запроса. Это может значительно улучшить скорость, но за это приходится платить (например, потоки выполняются только до тех пор, пока выполняется родительский элемент).

Также вы можете изучить постановку соединений в очередь. Проще говоря, ваш сценарий может обрабатывать несколько соединений и проходит через каждый обработчик, проверяя, ответил ли уже удаленный сервер, если нет, он переходит к следующему и т.д. нужны потоки.

В любом случае, обсуждение реальных программных решений выходит за рамки администрирования сервера и входит в сферу программирования.

0
ответ дан 5 December 2019 в 16:32

Теги

Похожие вопросы