This hasn't a thing to do with PHP, its a limitation of http protocol in combination with a browser and server. There is no defined limitation in RFC2616 from what I can find, but the general consensus is anywhere between 2kb and 8kb in request size. Older browsers support only up to 255bytes.
So in short, your get request is too long, and you have to reduce it or find another method to send such as post or put.
header('HTTP/1.1 420 Enhance Your Calm');