ОК, по крайней мере, после нескольких недель царапин на голове я обнаружил, что настройка HTTP тайм-аута, которую я передаю в stream_context_create
, вызывает сбой fopen. Когда я комментирую это, я больше не получаю не удалось открыть поток: HTTP-запрос не выполнен! предупреждение от fopen.
Я не уверен, однако, почему это стало проблемой с момента обновления до 5.3.10, поскольку это никогда не было проблемой при использовании 5.1.6. Я искал около 5,3 постов производительности, но не могу найти много. Понятно, что у меня есть серьезные опасения по поводу выпуска этого в живую среду, как будто что-то, что работает в 5.1.6, теперь борется, предположительно из-за ограниченного времени ожидания, в 5.3.10, тогда есть проблемы производительности с более новой версией PHP, которые не ' Т документально? Других изменений в коде между сценарием, который не работает (периодически) на 5.3.10, но всегда работает на 5.1.6, не было.
Я не уверен, стоит ли удалять тайм-аут или просто увеличить его до 5 или что-то в этом роде.
$options = array(
'http' => array(
'max_redirects' => 5 // stop after 5 redirects
// 'timeout' => 1, // timeout of 1 second
)
);
$context = stream_context_create($options);
$fp = fopen($fpthruPath, 'rb', false, $context);