2011-04-08 20 views
6

Olası Çoğalt:
<? ?> tags not working in php 5.3.1PHP shorthand yeni sunucu üzerinde çalışmıyor?

Genellikle kullanmak steno sözdizimi

<?="hello";?> 

yerine

<?php echo "hello";?> 

Bir geliştirme sunucusu oluşturdum ve aynı php sürümünü yükledim ama shorthand metodu çalışmıyor, neden? Bunu nasıl düzeltebilirim?

Bunu sunucu sitesinde sorardım, ancak bu bir php ayarı veya inandığım bir şeyle ilgili. Ben Linux Fedora çalıştırıyorum

+0

bu sorunla ilgili anahtar sözcük bilmiyorsanız, bunun için bir web arama yapmak için zor bir problemdir (yani

cevap

15

Sen (muhtemelen /etc/ cinsinden) yapılandırma dosyasında php.ini yılında short_open_tag seçeneğini etkinleştirmeniz gerekir. Bulduğunuz gibi, kısa etiketler varsayılan olarak devre dışıdır.

Düzeltme: ve evet, @Sebastian P'nin işaret ettiği gibi, bu daha önce sorulmuştur.

2

Muhtemelen gerekiyordu gibi bir ini ayardır kısa etiketleri etkinleştirmeniz gerekir

2

günü apache dizini ve değişim short_open_tag içinde php.ini dosyasını = bulun.

Kısa etiketlerin bazıları tarafından kötü bir fikir olarak kabul edildiğini not etmelisiniz (kendim dahil). Kullanışlı ve bu yüzden cazip olduklarını biliyorum, ancak bu soru onları kullanmamanın nedenini gösteriyor - kodunuzu hareket ettirirseniz ve CANNOT onları (her ne sebeple olursa olsun) etkinleştirirse? En taşınabilir kod kısa etiketleri kullanmaz. Eski kod çalışması yapmak için bunları açmanız gerekiyorsa, yapmanız gerekenleri yapın. Yeni bir proje başlatmak için bir sunucu kuruyorsanız, bırakın onları!

Dokümanlar: http://www.php.net/manual/en/ini.core.php#ini.short-open-tag

+0

Şimdi tamamen katılıyorum. Kendimi eğitmiş bir programcıydım ve bir arkadaşının bunları büyük bir anlaşma olmadığını söyleyerek gördüm. Şimdi pişmanım. Php.ini içinde short_open_tag dosyasını açtım ama hala çalışmıyor. – Darius

+1

Sunucuyu yeniden başlattınız mı? INI değişiminden sonra yeniden başlatılmalı. Ayrıca, phpinfo'nuzu() gözden geçirin ve düzenlediğiniz INI sunucunun kullandığından emin olun. PHP5 veya daha uzun bir süre kullandığınız sürece, bu bir PER_DIR ayarıdır, bu nedenle de .htaccess dosyasının INI ayarınızı geçersiz kıldığını doğrulamanız gerekir. –

+0

Anladım! : D şimdi çalışıyor. – Darius