2010-11-02 18 views
6

İçinde bir değişken bildirdiğim basit bir .shtml dosya var.SSI #set değişkeni ve #echo issue

<!--#set var="testVar" value="12345" --> 

Ama kullanarak değerini yazdırmak istediğinizde

<!--#echo var="testVar" --> 

o

Değişken 'TestVar'

sorun nedir

bulunamıyor diyor? IIS 7.5 kullanıyorum ve Apache2'de de test ettim, ama ya çalışmıyor!

<!--#echo var="$testVar" --> 

cevap

0

seni o kadar gibi önünde bir '$' ile değişkeni referans gerektiğini düşünüyorum doğru şekilde? mod_include'u açmanız gerekebilir. Aşağıdaki kod tarih bir kez düzgün çıkış yapılandırılmış olmalıdır:

<!--#echo var="DATE_LOCAL" --> 
1

Bu benim için çalışıyor:

<!--#set var="testVar" value="12345" --> 
<!--#echo var="testVar" --> 

Apache yapılandırılmış var mı

0

deneyin,

<!--#echo encoding="entity" var="testVar" --> 

değil o takdirde, kullanım $ TestVar sizin Değişken Değişken olarak ele emin olmak için.

1

Aynı sorunu yaşadım. Benim durumumda, ana dosyada bir değişken ayarlıyordum ve bir şablonda okumayı deniyordum.

çözüm

<!DOCTYPE ilanı sonrasında <!--#set yerleştirmek için etmekti.

1

IIS kodunuzu desteklemiyor.

<!--#set var="testVar" value="12345" --> 

IIS yanıt yüzden #set desteklemez. "Değişken 'testVar' bulunamıyor", çünkü hiç oluşturulmamış.

Windows sunucusu ve Apache sunucusu aynı modül adına (SSI) sahip ve aynı sözdizimini kullanıyorlar. FAKAT! Apache sunucusu, #set ve windows komutlarının bulunmadığı #if #else gibi diğer komutları destekler. Yani karışıklık tamamlandı. MSDN blog about SSI on IIS

: IIS kullanabileceğiniz komutların bir listesi için