apache — PHP-запрос на себя

У меня проблема с запросом PHP на себя. В примере я буду использовать file_get_contents() но то же самое происходит для exec('wkhtmltopdf [*SELF*]') или же curl()

  • давайте назовем мой сервер example.com
  • apache2 установлен
  • FastCGI (несколько версий PHP 5.3, 5.4, 5.5, 5.6, 7.0)
  • теперь у меня есть 2 фиктивных сценария

1-й сценарий

//get-html.php
file_get_contents('http://example.org/index.html')

2-й сценарий

//get-php.php
file_get_contents('http://example.org/index.php')

тестирование
1) командная строка: php get-html.php // Успех
2) браузер: example.org/get-html.php // Успех

1) командная строка: php get-php.php // Успех
2) браузер: example.org/get-php.php // Тайм-аут

Что я попробовал дальше

  • создать подобласть subdomain.example.org/index.php иметь другую версию PHP для get-php.php и для index.php
  • изменить / etc / hosts
  • запрос на других сайтах (например, google.com) // Успех
  • session_write_close () перед file_get_contents () и session_start () сразу после не работает также

Так что мой подозреваемый — mod_fastcgi. Кажется, что Apache не может запустить 2 экземпляра этого для обработки запросов PHP, который исходит от самого себя. Как работает скрипт из командной строки, работает как положено.

У кого-нибудь есть совет?

0

Решение

Я не установил PHP_FCGI_CHILDREN, что по умолчанию 1.
Когда я вызывал в PHP-скрипте другой PHP-скрипт с моего сервера через apache, он не работал, так как не смог создать еще один экземпляр PHP FCGI.

Правильные настройки PHP_FCGI_CHILDREN

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]