У меня есть веб-страница A, которая читает файл, и, если файл еще не существует, запрашивает другую страницу B того же веб-сайта через соединение через сокет для создания этого файла.
This закодирован в PHP, и соединение сокетов между этими двумя страницами устанавливается с stream_socket_client
.
Проблема, с которой я сталкиваюсь, заключается в том, что иногда (в большинстве случаев это нормально) занимает слишком много времени (это в этом случае может занять до 1 минуты, и мне потребуется максимум несколько секунд), чтобы файл, созданный на странице B, был виден со страницы A:
file_exists
и fopen
терпит неудачу на странице A, но завершается успешно позже на странице B (я сделал clearstatcache()
на обеих страницах ранее); - Я также могу видеть, что все другие, которые были ранее созданы, но новый присутствуют выполнив
scandir
; - , наконец, я могу подтвердить, что файл был создан до того, как я попытаюсь прочитать его со страницы A, выполнив
filectime
на странице B).
Когда возникает проблема, кажется, что страница дела A и страница B работают на разных серверах одного и того же веб-сайта, который размещен на общем хостинге.
Знаете ли вы:
, если файлы, созданные на Один сервер иногда занимает так много времени, чтобы быть видимым с другого сервера, и если, в случае плана совместного использования хоста, будет ли какое-либо решение?
, если возможно форсировать сокет (я использую stream_socket_client) для установки на указанный c сервер веб-сайта (я хотел бы, чтобы страница B выполнялась на том же сервере, что и страница A)?
любой Другая идея проблемы?
Спасибо за вашу помощь!