I experience problem with PHP request on self. In example I will use file_get_contents()
but same happen for exec('wkhtmltopdf [*SELF*]')
or curl()
- lets name my server example.com
- apache2 installed
- FastCGI (multiple PHP versions 5.3, 5.4, 5.5, 5.6, 7.0)
- now I have 2 dummy scripts
1st script
//get-html.php
file_get_contents('http://example.org/index.html')
2nd script
//get-php.php
file_get_contents('http://example.org/index.php')
Testing
1) command-line: php get-html.php
// Success
2) browser: example.org/get-html.php
// Success
1) command-line: php get-php.php
// Success
2) browser: example.org/get-php.php
// Timeout
What I tried next
- create subdomain like
subdomain.example.org/index.php
to have differet PHP version forget-php.php
and forindex.php
- amend /etc/hosts
- request on other sites (like google.com) // Success
- session_write_close() before file_get_contents() and session_start() right after does not work also
So my suspect is mod_fastcgi. It seems like the apache is not able to run 2 instances of this to handle PHP requests which comes from itself. As running script from command line works as expected.
Does anybody have any advice?
I did not set PHP_FCGI_CHILDREN what is in default 1.
When I called in PHP script another PHP script from my server over apache it failed as it was not able to create another PHP FCGI instance.