Зошто PHP-FPM го губи проксито што работи во вашиот терминал
Следете ја конфигурацијата на проксито во работниците на PHP-FPM и разликувајте ја нивната околина од контекстите на PHP тековите.
Истата PHP датотека може да користи прокси во терминал и да оди директно кога ја служи PHP-FPM. Започнете со споредување на процесите што ја извршуваат. Терминалот го стартува PHP со околината на школката; веб-серверот испраќа барање до работници што FPM веќе ги создал.
Погледнете ја околината на работникот
Конфигурацијата на базенот на FPM обезбедува clear_env и експлицитни записи env[NAME]. Со вклучено чистење на околината, извозот на променлива во школката за најава не ја става во работникот. Записите во базенот можат да пренесуваат избрани променливи:
env[http_proxy] = http://203.0.113.10:8080
env[https_proxy] = http://203.0.113.10:8080
Применете ги промените во конфигурацијата преку вообичаената постапка за повторно вчитување на FPM во вашето распоредување. Ставете ги вредностите во базенот што навистина ја служи апликацијата. Друг базен, сервисна сметка или контејнер можат да објаснат зошто навидум точна измена нема ефект.
Кога отстранувате грешки во активен барање, проверете само дали постојат очекуваните поставки. Јавна дијагностичка страница што печати целосни вредности на околината може да ги изложи акредитивите за прокси заедно со неповрзани тајни.
Потоа проверете го транспортот на PHP
libcurl има документирано ракување со околината на проксито; експлицитната рачка PHP cURL има и свои опции. Обвивката на HTTP текот на PHP има одделна конфигурација на контекст. Доставувањето променливи на работник не прави секој мрежен API на PHP да ги користи.
Тоа дава корисна дводелна проверка: потврдете што примил работникот, потоа потврдете како избраниот HTTP клиент ги чита поставките за прокси. Ако CLI и FPM примат исти вредности, но сè уште се однесуваат различно, следно споредете ги опциите на клиентот и правилата за заобиколување. Повторното уредување на профилот на школката не може да реши разлика во HTTP клиентот на работникот.