2010-03-13 88 views
3

運行Mac OS X 10.5.8,預裝了PHP 5.2.11。使用Coda 1.6.10。PHP在Mac上包含哪些正確的路徑?

我在寫PHP文件,然後預覽它們是從文件而不是服務器運行的。這工作正常,直到我嘗試PHP包括。這些不作爲相對路徑工作,只能作爲驅動器根目錄的絕對路徑。

有什麼辦法,我可以使用之類的語句

include_once 「通用/ header.php文件」;

沒有指定,像這樣我的整個文件路徑:

include_once 「/卷/ Macintosh的HD /用戶/尼爾/桌面/網站/ ColoredLists_v1.0 /普通/ base.php」;

,其中ColoredLists_v1.0是其中包含所有網站文件的目錄。我嘗試了將_SERVER [DOCUMENT_ROOT]或dirname(文件)加入到文件路徑的解決方案,但由於未設置變量,因此無法工作。有沒有簡單的方法來做到這一點,或者我可以改變一個配置,以便默認查看特定的目錄,而不是查看驅動器根目錄?目前,echo_include_path顯示:

當我包括這條線在腳本的開始,它的工作原理:

通過set_include_path('/卷/ Macintosh的HD /用戶/尼爾/桌面/網站/ ColoredLists_v1。 0' );

但是,如果我想爲我的所有腳本執行此操作,我似乎無法使更改永久。即使在我的php.ini中編輯了Unix的include_path之後,它似乎也不起作用。

更新:我最終決定,最簡單的方法是在本地運行Apache服務器。它預裝了Mac,所以在那裏沒有遇到太多麻煩。我修改了httpd.conf只允許來自本地主機的連接,從而減輕了我的安全擔憂。當然,這仍然開放80端口,但我在路由器後面,所以我希望我不是很暴露。 Coda在'網站'中包含了一些很棒的功能,我可以在其中設置本地網址,因此它現在非常出色。現在唯一的缺點是,在代碼編輯之後,我需要手動刷新預覽。

+0

你是什麼意思,從「文件」和「無法從服務器」的工作?命令行而不是Apache? – zneak 2010-03-13 19:25:39

+0

是@zneak。 PHP文件僅由PHP文件處理,然後輸出的html文件在瀏覽器中呈現。該請求不會轉到服務器,請求頁面,然後返回呈現的html。所以這裏沒有htaccess或apache配置的問題。 – Neil 2010-03-16 19:16:27

回答

2

你可以試試這個方法。

require_once(dirname(__FILE__) . '/example.php'); 
0

嘗試

set_include_path(
    '/Volumes/Macintosh HD/Users/neil/Desktop/Website/ColoredLists_v1.0' . 
    PATH_SEPARATOR . 
    get_include_path()); 
在共享

包括文件

或編輯你的php.ini並更改include_path變量(我使用甲基苯丙胺所以不能告訴你確切的路徑到php.ini)

0

它確實是一個include_path問題。默認似乎是.:/usr/lib/php;也許如果你從你的腳本所在的目錄啓動了PHP命令,它會好嗎?

0

這個屢試不爽對我來說:

<?php require_once($_SERVER['DOCUMENT_ROOT'] . '/common/header.php'); ?>

+0

我不認爲任何$ _SERVER變量都可以工作,因爲它將PHP運行在命令行而不是服務器上。我不知道。我會在稍後嘗試。 – Neil 2011-04-23 06:39:51