Что такое php fork с FTP? - PullRequest
       14

Что такое php fork с FTP?

0 голосов
/ 03 ноября 2011

Один из моих друзей сказал, что не следует использовать FTP на PhP, поскольку существует множество функций ftp_connect (), так как он заканчивается, когда сценарии заканчиваются. Он сказал, что я могу «раскошелиться». Что это такое?

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Есть несколько возможностей, и это может быть неочевидно, то, что он думал, сказав, что .

1. Он хочет, чтобы вы раскошелили код скрипта

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

2. Он хочет, чтобы вы разветвляли PHP:)

Может быть, он пошутил, что вы можете сделать лучше и создать свою собственную версию PHP :) Или, может быть, это была не шутка? :)

3. Многопоточность

Может, он думал о многопоточности? Но PHP не подходит для этого ( см. Решения для этого ).

0 голосов
/ 03 ноября 2011

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

Если я прав, под разветвлением он сослался на создание отдельного процесса на сервере, который поддерживает FTP-соединение, в то время как Apache обрабатывает несколько запросов. То есть FTP-клиент работает как своего рода демон на веб-сервере, и ваши PHP-скрипты взаимодействуют с этим демоном. Таким образом, вам нужно только один раз подключиться к серверу, в то время как Apache может обрабатывать разные запросы.

Форкирование означает отделение дочернего процесса от его родителя и запуск его независимо. В этом примере процесс, который подключается к FTP-серверу, разветвляется и, как таковой, отсоединяется от своего родителя - сценария от веб-запроса, который будет завершен после выполнения запроса.

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