Kial PHP-FPM perdas la prokuron, kiu funkcias en via terminalo
Sekvu la prokuran agordon en PHP-FPM-laborantojn kaj distingi ilian medion de PHP-fluaj kuntekstoj.
La sama PHP-dosiero povas uzi prokuron en terminalo kaj iri rekte kiam PHP-FPM servas ĝin. Komencu komparante la procezojn, kiuj rulas ĝin. Via terminalo lanĉas PHP kun sia ŝela medio; la retservilo sendas peton al laborantoj, kiujn FPM jam kreis.
Rigardu la medion de la laboranto
La agordo de la FPM-baseno provizas clear_env kaj eksplicitajn env[NAME]-erojn. Kun media purigado ŝaltita, eksporti variablon en via ensaluta ŝelo ne metas ĝin en laboranton. Basenaj eroj povas transdoni elektitajn variablojn:
env[http_proxy] = http://203.0.113.10:8080
env[https_proxy] = http://203.0.113.10:8080
Apliku agordajn ŝanĝojn per la normala FPM-reŝarga procedo de via deplojo. Metu la valorojn en la basenon, kiu efektive servas la aplikaĵon. Alia baseno, servokonto aŭ ujo povas klarigi, kial ŝajne ĝusta redakto havas neniun efikon.
Dum sencimigado de viva peto, kontrolu nur ĉu la atendataj agordoj ekzistas. Publika diagnoza paĝo, kiu presas plenajn mediajn valorojn, povas malkaŝi prokurajn akreditaĵojn kune kun ne rilataj sekretoj.
Poste kontrolu la PHP-transporton
libcurl havas dokumentitan prokuran median pritraktadon; eksplicita PHP-cURL-tenilo ankaŭ havas proprajn opciojn. La HTTP-fluiga envolvilo de PHP havas apartan kuntekstan agordon. Provizi variablojn al laboranto ne igas ĉiun PHP-retan API-on konsumi ilin.
Tio donas utilan dupartan kontrolon: konfirmu, kion la laboranto ricevis, poste konfirmu, kiel la elektita HTTP-kliento legas prokurajn agordojn. Se CLI kaj FPM ricevas la samajn valorojn sed tamen kondutas malsame, poste komparu klientajn opciojn kaj preterpasantajn regulojn. Ripeta redaktado de la ŝela profilo ne povas solvi diferencon ene de la HTTP-kliento de la laboranto.