2011-05-16 18 views
13

Sunucumdaki apache'den nginx'e geçiş yapmaya çalışıyorum. Burada tek sorun, Nginx ile çalışmayan PHP betiklerimde kullandığım getallheaders() işlevidir. Kullanıcıya, jetallheaders uygulamasında php sitesiyle ilgili notlar ekledim ancak bu, tüm istek başlıklarını geri getirmiyor.PHP getallheaders alternatifi

Lütfen bu sorunu nasıl çözeceğimi söyle. Nginx'e geçmek isterim.

+0

Hangi üstbilgiler eksik? Eksik olan üstbilginin gerçekten bir istek başlığı olduğundan ve apache tarafından ayarlanmış bir şey olmadığından emin misiniz? –

+0

İstemcim tarafından gönderilen özel başlıklarda eksik durumdayım. Örneğin, uygulamanız getallheaders olmadan erişilemeyen ownet-id alanı gerektiriyor. – adityap

+0

PHP 5.4 FastCGI'de kullanılabilir. – CMCDragonkai

cevap

9

Sen yine de kullanabilirsiniz ancak yeniden tanımlamak için/olarak $ _SERVER [' php için buraya Sahibi tarafından kimlik bir istek başlığı geçilecek

http://www.php.net/manual/en/function.getallheaders.php#84262

+0

Bu yöntemi kullandım ama şans yok. Bana istediğim bütün başlıkları vermiyor. Örneğin, uygulamamın müşterinin "sahip kimliği" üstbilgisini göndermesini gerektirir. Bu getallheaders() dışında herhangi bir işlevle alamıyor. – adityap

+0

Apache_request_headers() 'ın da çalışmayacağı var mı? – 0xAli

+0

evet .. o da çalışmıyor ..... – adityap

5

gibi yeniden yazma sahip olacak Nginx tarafından HTTP_OWNER_ID ']. Tüm istek başlıkları benzer şekilde iletilir.

+0

Hayır, bu şekilde başlıklar sağlamaz .... – adityap

+0

Sadece curl -H kullanarak 'Sahip-ID: foobar' ve $ _SERVER ['HTTP_OWNER_ID'] bir foobar değerine sahiptir. Bu davranışı fastcgi_pass_request_headers kapalıyken devre dışı bıraktın mı? – kolbyjack

+0

nginx'i kaldırdım ... Bu şekilde başlıklar sağlanıyor olabilir ancak sunucuyu yeniden derlemeden modül yükleyemediğiniz başka birçok sorun var. Bu, üretim sunucularına dağıtmak için can sıkıcıdır. Nginx yeterince olgunlaşana kadar şimdi apache'de kalmak istiyorum. Her neyse yardım için teşekkürler – adityap