2014-03-26 36 views
0

我最近更新了我的服務器以使用SuPHP來提高安全性。可以從文本文件加載php函數嗎?

一個缺點是,我曾經能夠使用文件的絕對路徑包含來自服務器上的其他域的文件。這不起作用了。

我從其他域包含的文件尤其是我的功能文件,它在我的所有網站上都是巨大的。爲了可維護性,我一直包括一箇中央文件,而不是每次修改時都將文件上載到每個服務器。

我認爲將函數文件保存爲純文本並跨域使用file_get_contents()可能是正確的選擇。但顯然這不起作用。

有沒有辦法讓它工作?

或者是否還有其他一些高手功能可以幫助我實現我的目標?

乾杯。

+0

是否所有網站都託管在同一個環境中,並且您是否擁有對php.ini的控制權? – AJReading

+0

一個硬鏈接可以在所有的虛擬主機/ uid上運行。 – mario

+0

是的,我有php.ini控制。 –

回答

0

聽起來好像您需要在每個網站虛擬主機中配置open_base_dir,以便它們可以訪問這些功能文件所在的目錄。你應該把它們放在一個共同的位置。

open_basedir

另一種方法是使用php_info()來檢查你的include路徑,看看是否有已配置的適當位置,你可以把這些文件,然後簡單地包括使用包括()

include_path

+0

要添加到我的答案中,我會推薦後一種選擇,因爲包含路徑更適合您嘗試實現的內容。 – AJReading

+0

我已經檢查過phpinfo(),並在include_path旁邊說:./ usr/lib/php:/ usr/local/lib/php 這是一個合適的位置嗎?我如何在這個位置上傳文件? –

+0

您可以在ini文件中編輯include_path以在其中添加另一個通過冒號分隔的路徑,例如:。:/ usr/lib/php:/ usr/local/lib/php:/ home/user/my_php_files – AJReading

相關問題