Мой комментарий выше работал как решение и, следовательно, этот ответ, так что в будущем другие получат его.
Можете ли вы 127.0.0.1:8080 вместо localhost: 8080? Видишь что ты получаешь?
fsocketopen
принимает имя хоста, и оно должно быть действительным доменом, в вашем случае (в общем случае) это может быть допустимый домен, если у вас есть запись для localhost в файле хостов (C:\Windows\System 32\drivers\etc\hosts)
. Посмотрите, есть ли у вас что-то похожее на это.