2009-10-11 56 views
1

我在Apache上編寫了PHP代碼,我可以訪問Unix服務器上的兩個主要區域。我有一個個人目錄,我有一個項目目錄。我注意到,在項目目錄中有一個擴展名/模塊,我可以自動訪問,我沒有在我的個人目錄中(我可以看到它在phpinfo()中列出)。擴展名在哪裏設置?

所以我猜測服務器管理員以這種方式設置它,因爲大多數用戶不會在他們的個人區域需要此擴展名,但我這樣做。

我已經瀏覽了幾個基本級別的.htaccess文件和conf文件,但似乎無法找到該擴展正在爲項目區域初始化的要點。有沒有一種方法可以通過PHP爲我列出所有已加載的擴展名,但它們在什麼時候加載?

+0

你在問什麼PHP設置正在加載某個擴展名以及該設置所在的文件? – 2009-10-12 01:49:46

+0

是的。但是我沒有問如何找到'php.ini'文件,但是如果它是'PHP_INI_PERDIR'類型的擴展名,並且沒有在腳本或'php.ini'文件中設置,它將被添加到哪裏。 – Anthony 2009-10-12 10:10:07

+0

它已被添加,對不起。這絕對是一個地方。 – Anthony 2009-10-12 10:10:40

回答

1

我能想到的2種方式加載擴展

  1. 通過與擴展/目錄的zend_extension php.ini中。請注意,這不適用於user.ini文件(每個目錄配置)

  2. 通過auto_prepend_file INI設置和dl()函數的組合使用。後者可以動態加載擴展。並且可以使用auto_prepend使PHP解釋器在運行之前運行任何代碼。但是dl()在PHP 5.3中已被棄用,並且將在PHP6中完全消失。

如果一切都失敗 - 你爲什麼不問你的服務器管理員?

0

是否有通過PHP辦法爲我列出 不僅所有的加載擴展,但在 在加載點什麼?

號諮詢服務器管理員。