2013-02-12 18 views
8

CentOS 5.2 64-bit ile 1 & 1 numaralı VPS'im var.PHP, herhangi bir çıkıştan önce yeni bir hat yayıyor

Geçtiğimiz Salı PHP'yi yükselttim ve Apache, MySQL, Perl, vb. Dahil olmak üzere pek çok başka paketi yükseltmek zorunda olan ImageMagick'i yükledim. Çok sayıda şey işlem sırasında yükseltildi ancak tam bir noob olmakla birlikte sadece onunla birlikte gittim.

1. 
2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/ xhtml1/DTD/xhtml1-transitional.dtd"> 

Hatta ob_start(); ve hayır şans die(trim(ob_get_clean())); çalıştı

(her PHP dosyasına yeni bir hat çıkışı öncesi):

Şimdi problem tüm web siteleri şuna benzer olmasıdır. Yeni hat devam ediyor.

/etc/php.ini numaralı telefondan kısaca hiçbir şey kontrol etmeden kontrol ettim.

Ne yapabilirim?

+0

Ve PHP sayfalarınızdan biri nasıl görünüyor? – Jon

+0

Bence BOM? –

+0

Bunu yerel olarak yapmıyor. Yükseltmeden önce çok iyi çalıştı. BOM değil, sadece header denedim ("İçerik türü: text/html; charset = utf-8"); Sorun hala burada. –

cevap

6

Karanlıkta çekim yapın, ancak bir auto-prepend-file değeri için php.ini'nizi kontrol edin. Bir satır kopması olan boş bir varsayılan dosyaya işaret ediyor olabilir.

+0

Muhtemelen bir dosya otomatik olarak dahil edilmiştir ... –

+0

Sadece kontrol ettim/etc/php.ini'; auto_append_file = 've'; auto_prepend_file = 'her ikisi de yorumlandı. :( –

+1

+1 bu ini direktifleri için, oradaki zor adamları unutmuştum.Ayrıca, 'globablly' kodlarını kullanabilmek için onu kullanarak bazı sinsi eklentiler görebiliyordum: –

3

Bunun en olası nedeni, bazının sonunda boşluk içeren dosyadır. Herhangi bir dahil dosyası, satır sonu veya boşlukları dahil olmak üzere <?php ve ?> etiketlerinin dışındaki herhangi bir karaktere sahipse, apache yanıtın başlangıcına, gördüğünüz gibi boş bir satır yazacaktır.

Ne yazık ki, içerme zincirinizdeki herhangi bir dosya suçlu olabilir. Paylaşılan bir barındırma sağlayıcısındaysanız, AlienWebguy'nin bahsettiği gibi herhangi bir tuhaf php otomatik dahil etme davranışı veya apache yönergeleri olmadığından emin olmak için destekleriyle iletişime geçmeniz gerekebilir. İşte best practices for include files hakkında iyi bir Stack Overflow sorusu.

(Hatta. Smarty, bir 3. parti php şablon eklentisi bile son/akım sürümlerde, onun dahil dosyalarında yedek boşluk olduğunu işaret) Ve burada nasıl find and kill pages with whitespace on them. için olası bir seyir makale ise * nix fu Yeterince güçlüdür, dosya yapınızı böyle bir suçluyu bulmaya çalışmak için bir regex ile grep yapabilirsiniz. Önceden, sorulan soru içinde Mario, bu tür gelecekteki hataları yakalamak için bir svn taahhüt kancası içine atılabilir bu konuda uyardı birkaç php direktifleri gönderir.

+0

Sadece onun yükseltmesinden beri oldu. – AlienWebguy

+0

Ve suçlu yüklü veya değiştirilmiş yeni dosyalardan herhangi birinde olabilir. –

+0

Sunucuda SVN var, ancak PHP'lerin hiçbiri "ile bitmiyor"?> '. Ruby'yi kurdum ve onaylamak için bu komutu çalıştırdım. (sadece bazı yönetici alanları vardı) paylaşımlı hosting'de değilim, bu bir VPS. –

İlgili konular