php.ini中的include_path配置

一直對include_path的作用不了解,也沒怎麼注意過它的用途,今天在網上看一些資料後明白了,記錄一下:

      其實設置include_path的作用就是設置用include()函數包函文件時的路徑,當然也可以不設置include_path,只要在包函文件時寫出具體的文件相對或絕對路即可:

下面以安裝smarty爲例:

下面內容中,我們都是假設你的文件放在了D:\Appserv\www\Smarty下。

     1、找到你的php.ini配置文件修改php.ini的include_path選項,把smarty的庫文件路徑加上,比如:
include_path = "D:\Appserv\www\Smarty\libs"

提醒一下,php.ini中一共有兩處include_path,一處是Unix下使用的,一處是windows下使用的,要修改windows下使用的:
-------------------------------------------------------------

; Windows: "\path1;\path2"
;include_path = ".;c:\php\includes"
  修改爲:

; Windows: "\path1;\path2"
include_path = "D:\Appserv\www\Smarty\libs"
 保存即可,這個是PHP的包含文件路徑,可以設置多個,用";"格開。

    2、載入Smarty庫,如果在php.ini設置了include_path爲D:\Appserv\www\Mysmarty\libs,那麼可以直 接用include("Smarty.class.php");另外不設置include_path,可以直接把Smarty.class.php拷到網 站目錄,就可以用相對路徑或用絕對路徑了,如include("D:\Appserv\www\Smarty\libs \Smarty.class.php");

     可以看出設置了include_path後,要包函文件Smarty.class.php就比較簡便了,不用寫一大串的路徑(其實也不見得方便,只是當很多需要包函的文件都在一個目錄下時,這樣會覺得比較方便)。

     有兩種方法來設置php的include_path.

一:修改php.ini文件中的include_path項。

例:include_path = .:/usr/local/lib/php:./include

二:使用ini_set方法(對於無法修改php.ini的情況)。

例:ini_set("include_path", ".:../:./include:../include

 

include_path補充

include_path用來設置include()或require()函數包含文件的參考路徑.
也就是說當使用include()或require()函數包含文件的時候,程序首先以include_path設置的路徑作爲參考點去找文件,如果找不到,則以程序自身所在的路徑爲參考點去找所要的文件,如果都找不到,則出錯.
當include_path設置了多個參考路徑(每個路徑用分號隔開)時,排在前面的路徑優先找.

例如: ini_set('include_path','d:\www\mysite\test;d:\www\mysite\test2');
include('aaa/test.php');
程序會先以路徑d:\www\mysite\test爲參考去找aaa/test.php,若沒有,再以d:\www\mysite\test2爲參考去找,再沒有,則以自身所在路徑爲參考去找.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章