2010-08-11 104 views
1

我有一個PHP項目,該項目具有存儲如數據庫信息,配置目錄信息的配置文件config.php文件等PHP,Apache的與的.htaccess:包括PHP配置文件全局

通常我們會包括這個配置文件在像require_once(」 .../config.php文件),每個PHP頁面的頂部,但是,我已經找到一種方法通過創建一個.htaccess文件做到這一點,這包括:

php_value auto_prepend_file /home/public_html/..../config.php 

這個作品很好,直到我將它轉移到共享主機,顯然,這個共享主機允許我們將PHP版本從4x改爲5x。在改爲5x後,我意識到他們已經創建了一個.htaccess文件包含以下內容:

<FilesMatch "\.php$"> # phpvs v5 
AddHandler x-httpd-php5 .php # phpvs v5 
</FilesMatch> # phpvs v5 

與此,它忽略包含路徑到配置文件..我怎麼能解決這個問題?我當然不希望將我的config.php包含在每個php文件中。

回答

2

htaccess文件不限於包含單個指令。你可以有兩個。

2

通常我們會將這個配置文件包含在每個php頁面的頂部,比如require_once(「.../config.php」);但是,我已經找到了一種方法來創建一個.htaccess文件,包括這

也許不是最明智的舉動。這是更穩定和便攜做到這一點在PHP,而不是依靠的.htaccess依託的.htaccess意味着如果你的Web服務器被更改或重新配置很可能停止工作(如你所見)

我知道它不回答你的問題,但我會考慮回去做這個使用require_on ce()在適當的PHP文件中。

+1

嗯我明白這一點。關於PHP的另一種方式,不需要包含在所有頁面? – nuttynibbles 2010-08-11 05:46:21

+0

一個複雜的CMS將只有一個主PHP腳本處理頁面的所有請求,然後根據請求的頁面將控制權交給各個模塊,因此您只需將config.php包含在該文件中即可。但是,這取決於你在做什麼。 – thomasrutter 2010-08-11 05:56:44