$page1 = file_get_contents(\'http://www.google.com\');
$page2 = file_get_contents(\'http://localhost:8000/prueba\');
When I echo the results, with
For anyone having this problem using PHP Built-in web server (with Laravel in my case), it is caused by your request being blocked by file_get_contents() / curl functions.
Docs of dev server say that
PHP applications will stall if a request is blocked.
Since the PHP built-in server is single threaded, requesting another url on your server will halt first request and it gets timed out.
As a solution, you can use proper web server (nginx, apache etc.).
Edit: As of now, I really suggest you to use Laradock as development environment for PHP projects. It saves you lots of time with setup and configuration of different services (webserver, databases, queues, etc.).
As zub0r pointed out, the built-in PHP server is single threaded. If you do not want to install and configure a web server like nginx, and do not want to use Homestead or Valet, there is another easy solution:
Start another instance of your build-in PHP server with another port and use this in the internal requests of your app.
php -S localhost:8000
\\ in another console
php -S localhost:8001
I use this in my Laravel app when I request some local dummy API via Guzzle and it works fine.