Am lucrat la o aplicație PHP care folosește fpassthru
funcție încorporată, care citește conținutul dintr-un stream sau un indicator de fișier și le trimite în buffer-ul de ieșire. Este foarte asemănător cu readfile
funcție, dar îmi permite să pornesc ieșirea la un anumit offset.
Majoritatea furnizorilor de găzduire cu care mi-am testat produsul, au funcționat foarte bine, iar aceștia includ medii de găzduire partajate cu mai mulți chiriași. Totuși, am găsit câteva care au fpassthru()
funcția „dezactivată din motive de securitate”. Am petrecut ore întregi cercetând de ce cineva ar dezactiva fpassthru
funcția, dar nu și funcții precum fopen
, friad
, file_get_contents
, precum și readfile
, dar chiar nu am găsit nimic util.
Probabil că sună aiurea, dar cea mai apropiată presupunere este că aceste gazde au fost dezactivate fpassthru
confundandu-l cu trece prin
, care într-adevăr justifică dezactivarea, mai ales în mediile partajate. Acestea fiind spuse, actualul trece prin
funcția (împreună cu exec
și restul familiei) au fost, de asemenea, dezactivați pe aceste gazde.
Am încercat să contactez aceste gazde și i-am întrebat de ce.
Nu am putut trece peste vânzările de la Flywheel, ei au spus că nu pot răspunde la întrebarea mea și doar suportul poate. Și pentru a contacta asistența trebuie să devin client. Clasic.
RunCloud mi s-a părut puțin mai promițător la început, am ajuns la un „Inginer de sisteme de nivel 3” și a durat câteva zile pentru a ajunge la un „Inginer de sisteme Sr.” de la care am primit următoarea declarație:
este cea mai bună practică pentru PHP pe RunCloud și este cea mai bună practică pentru noi
Le-am rugat să detalieze, dar nu am mai auzit de ceva vreme, așa că mi-am pierdut speranța.
Doar pentru a clarifica, nu caut căi de ocolire fpassthru()
. Caut motive pentru care este listat ocazional alături de funcții „periculoase”, cum ar fi exec()
, sistem()
, trece prin()
, pcntl_fork()
si altele, in timp ce avand readfile()
, file_get_contents()
, etc. funcționează bine.
Dacă aveți informații, vă rugăm să împărtășiți!