Cikgu, tunjukkan maklumat versi apache dan php dalam kotak merah dalam gambar yang manakah adalah apache?
小伙看你根骨奇佳,潛力無限,來學(xué)PHP伐。
Halaman yang anda lihat dipaparkan terus dalam direktori fail ini diproses oleh modul mod_autoindex Apache.
Mari kita bincangkan tentang ServerTokens
yang orang lain sebutkan sebelum iniServerSignature
和 ServerTokens
ServerTokens Full
ServerSignature On
mod_autoindex 的末尾信息:Apache/2.4.10 (系統(tǒng) Debian/Ubuntu/Windows之類的) OpenSSL/1.0.1t Server at your.domain.com Port 443
Http頭部:Server:Apache/2.4.10 (系統(tǒng) Debian/Ubuntu/Windows之類的) OpenSSL/1.0.1t
ServerTokens Prod
ServerSignature Off
是這個樣子的:
mod_autoindex 的末尾信息:Apache Server at your.domain.com Port 443
Http頭部:Server:Apache
所以 ServerSignature
和 ServerTokens
和你的問題沒什么直接關(guān)系。
也就是說,Apache沒有什么配置項(xiàng)能直接解決這個問題(Apache又不是必須和PHP結(jié)合,安裝了Apache人家憑什么給你順便顯示PHP的信息?)。
間接解決:我給的是Debian/Ubuntu系+mod_php的解決方案,別的系統(tǒng)估計(jì)也類似。
/etc/apache2/mods_enabled/autoindex.conf
</IfModule>
前面加上:
AddHandler application/x-httpd-php .php
AddType text/html .php
ReadmeName /README.php
HeaderName HEADER.html
ReadmeName
和 HeaderName
可能已經(jīng)存在,那就改掉。
然后在你網(wǎng)站的根目錄(your.domain.com/ 對應(yīng)的那個目錄)建立README.php
內(nèi)容:
<?php
echo apache_get_version().', PHP Version:'.phpversion();
?>
注意啦,這里有個唯一可能跟 ServerTokens
有關(guān)的內(nèi)容,如果你配置的是 Prod
, 則只能顯示出來Apache
, 如果配置的是 Full
就會顯示我之前提到的那一大串詳細(xì)信息:
Apache/2.x.xx (系統(tǒng) Debian/Ubuntu/Windows之類的) OpenSSL/1.0.xx
另外如果直接在php里調(diào)用shell_exec
獲得Apache版本號的話應(yīng)該沒有限制,可以不動ServerTokens
rrreee
Maklumat di penghujung
Apache/2.4.10 (System Debian/Ubuntu/Windows, dll.) OpenSSL/1.0.1t Server di your.domain.com Port 443
Pengepala Http:
rrreee
Beginilah rupanya:
ServerSignature
dan ServerTokens
tidak mempunyai hubungan langsung dengan masalah anda. ??
??Dalam erti kata lain, tiada item konfigurasi untuk Apache yang boleh menyelesaikan masalah ini secara langsung (Apache tidak perlu digabungkan dengan PHP, jadi mengapa perlu seseorang menunjukkan maklumat PHP kepada anda selepas memasang Apache?). ??
??Penyelesaian tidak langsung: Penyelesaian yang saya berikan ialah sistem Debian/Ubuntu + mod_php dianggarkan sistem lain akan serupa. ??
??/etc/apache2/mods_enabled/autoindex.conf
??
??</IfModule>
didahului oleh: ??
rrreee
??ReadmeName
dan HeaderName
mungkin sudah wujud, jadi tukarlah. ??
??Kemudian buat README.php
dalam direktori akar tapak web anda (direktori yang sepadan dengan your.domain.com/)??
??Kandungan: ??
rrreee
??Perhatian, inilah satu-satunya kandungan yang mungkin berkaitan dengan ServerTokens
Jika anda mengkonfigurasi Prod
, hanya Apache
akan dipaparkan shell_exec
dalam php untuk mendapatkan nombor versi Apache, tiada had dan anda boleh membiarkan konfigurasi ServerTokens
tidak berubah. ??
??Lihat lebih lanjut di: ??
??Apache mod_autoindex Penerangan terperinci tentang Header dan Readme ??Fungsi PHP, dapatkan maklumat versi Apache ??PHP Dapatkan maklumat versi PHP ??Isytiharkan Pengendali .php sebelum memanggil PHP ini. Walaupun anda mungkin telah menyatakannya di tempat lain, fail konfigurasi ini diproses terlebih dahulu oleh Apache. Oleh itu, kami perlu mengisytiharkan terlebih dahulu bagaimana rupa maklumat yang dipaparkan oleh ServerToken yang berbeza??Ini terutamanya melibatkan dua konfigurasi ServerSignature
和 ServerTokens
, ServerSignature
起開關(guān)作用,ServerTokens
控制顯示信息多少。
修改 httpd.conf
Kedua-dua konfigurasi ini adalah seperti berikut, dan ia akan dipaparkan selepas dimulakan semula.
ServerSignature On
ServerTokens Full
Dilampirkan nilai berkaitan kedua-dua konfigurasi
ServerSignature : Mati |