2010-07-05 206 views

回答

4

嘗試使用apache_get_modulesfunction來獲取已加載模塊的數組。如果該模塊被加載,但沒有列在那裏,你可能想嘗試phpinfophpinfo(INFO_MODULES)代替:

ob_start(); 
phpinfo(INFO_MODULES); 
$contents = ob_get_clean(); 
$moduleAvailable = strpos($contents, 'mod_security') !== false; 
+1

應注意這是可以做到只有在PHP被安裝爲Apache模塊時。 – Artefacto 2010-07-05 22:58:08

+0

此功能對所有主機都無法正常工作。某些主機出於某種原因似乎不會使用此功能返回所有的Apache mods。另一篇文章:http://www.devcomments.com/apache_get_modules-solution-to130703.htm 任何其他想法? – user384030 2010-07-06 00:25:29

2

救命稻草這裏抓。

嘗試讓腳本向自己發出一個請求(通過file_get_contents或者cURL擴展名),以便訪問mod_security。如果它返回一個403(或任何的mod_security的默認響應),這應該是足夠的信息讓你去...

3

你可以做只需要創建一個test.php的文件,並使用..

<?php phpinfo(); ?> 

,並期待在apache2handler,並期待在:加載的模塊..這樣的事情...

http://gyazo.com/bcba303469f23671f7213e1478788cbd.png

-Mike

+2

這似乎不適用於PHP-FPM,在這種情況下,沒有Apache2handler塊 – vrijdenker 2016-07-08 08:54:35