2010-07-13 132 views
1

我不是一個php開發人員,但我正在擺弄MAMP。我已經安裝了MAMP,並且我的php include()調用不起作用。MAMP php包括

[13-Jul-2010 19:23:30] PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required '1' (include_path='.:/Applications/MAMP/bin/php5.3/lib/php:/Applications/MAMP/htdocs/mt_sandbox/php/') in /Applications/MAMP/htdocs/mt_sandbox/php/email/owner_emails.php on line 5 

正如你可以看到那裏,我試圖編輯我的php.ini文件使用第二包含路徑到我的項目「mt_sandbox」的「PHP」目錄。

這裏有精確包括

require_once("Mail.php") or die ('php load error for Mail.php'); 

require_once('/Applications/MAMP/htdocs/mt_sandbox/php/email/email_manager.php') or die ('php load error for email/email_manager.php'); 

模具消息不被解僱,因爲我得到了PHP的致命錯誤。

誰能告訴我我做錯了什麼?我如何在我的腳本中安裝使用include?

+0

你可以發佈確切的include()調用。 – 2010-07-13 23:58:02

+0

你的'1'文件是否存在?似乎很奇怪,需要一個名爲'1'的文件。 – Wrikken 2010-07-14 00:05:12

+0

我不知道'1'是什麼。我不需要'1'文件。 確切的包括: require_once(「Mail.php」)或死('Mail.php的php加載錯誤'); ('/ Applications/MAMP/htdocs/mt_sandbox/php/email/email_manager.php')或die('php load error for email/email_manager.php'); – DrANoel 2010-07-14 01:01:27

回答

1

使用您正在使用的文件的絕對路徑

+0

當我完成後,我確實希望將其部署到生產環境中。如果我使用絕對路徑,我不需要手動調整所有包含路徑嗎? – DrANoel 2010-07-14 02:17:48

+0

那麼,相對路徑會更好;-)你是否確定文件存在於你期望的地方? – 2010-07-14 16:08:01

+0

我試圖包含2個文件。第一個是Pear Mail.php文件。第二個是我自己的。這兩者都沒有包括在內,我確實擁有正確的URL到我的文件,因爲它與我在瀏覽器中提供的目錄位於同一個目錄中。 – DrANoel 2010-07-14 17:49:13

3

升級到Mountain Lion後,我遇到了同樣的問題。考慮到你的帖子有多老,我認爲你已經解決了這個問題,但找出一個答案可能對其他人搜索有用。

當爲MAMP安裝pear擴展時,確保使用MAMP中的pear包運行你的命令。如果梨已經安裝在MAMP之外,並且執行

pear install -a Mail 

這將引發錯誤的梨功能。執行此操作會告訴你你正在使用哪個梨函數。

which pear 

對我來說是在/ opt/local/bin目錄/梨

要使用MAMP梨功能我導航到該目錄「/Applications/MAMP/bin/php/php5.4.4/bin '並使用此命令

./pear install -a Mail 

這在MAMP中啓動了pear命令併爲我安裝了該包。