2010-05-21 63 views
6

我安裝了Mail_Mime包。不能包含肯定存在(並且已安裝)的梨包

include('Mail.php'); 
include('Mail/mime.php'); 

我收到以下錯誤:

Warning: include(Mail.php) [function.include]: failed to open stream: No such file or directory in /var/www/vhosts/domain.co.uk/httpdocs/mail_mime/index.php on line 2 

Warning: include() [function.include]: Failed opening 'Mail.php' for inclusion (include_path='.:/usr/lib/php/PEAR:/usr/lib/php/modules') in /var/www/vhosts/domain.co.uk/httpdocs/mail_mime/index.php on line 2 

Warning: include(Mail/mime.php) [function.include]: failed to open stream: No such file or directory in /var/www/vhosts/domain.co.uk/httpdocs/mail_mime/index.php on line 3 

Warning: include() [function.include]: Failed opening 'Mail/mime.php' for inclusion (include_path='.:/usr/lib/php/PEAR:/usr/lib/php/modules') in /var/www/vhosts/domain.co.uk/httpdocs/mail_mime/index.php on line 3 

的2個文件是絕對的文件夾:

/usr/lib/php/PEAR/Mail.php 
/usr/lib/php/PEAR/Mail/mime.php 

梨名單告訴我,需要的軟件包安裝,也沒有缺少依賴關係

+0

我把它通過改變open_basedir的價值觀工作,現在我只需要了解如何在服務器範圍內完成該操作(例如,允許當前域的pear,tmp和webroot) – mononym 2010-05-21 14:39:15

+0

注意:如果您的文件正在使用它,請將Mail.php包含大寫'M'。 – 2013-10-09 01:01:13

回答

7

它是否在您的包含路徑中?

var_dump(get_include_path()); 

如果不是的話,試試手之前添加此將其添加到包括路徑:

在運行時:

$path = get_include_path() . PATH_SEPARATOR . '/usr/lib/php/PEAR'; 
set_include_path($path); 

或者在php.ini

include_path=".:--Whatever's here already--:/usr/lib/php/PEAR" 

在附註中,如果您關心它被包含在內,爲什麼不使用require_once?它會阻止它被多次包含(_once部分)並導致致命錯誤。如果找不到其他代碼,它將阻止其執行...

+0

包含路徑設置正確 – mononym 2010-05-21 13:48:37

+0

您是否有權讀取文件?服務器? – ircmaxell 2010-05-21 13:55:24

+0

嘗試chmod到777,仍然沒有工作 – mononym 2010-05-21 14:10:41

1

對於使用虛擬主機的Plesk用戶:不要忘記將Directory指令包含在vhost.conf中/var/www/vhosts/yourdomain/subdomains/yoursubdomain/conf/vhost.conf當您設置的open_basedir允許包括PEAR庫

<Directory /var/www/vhosts/yourdomain/subdomains/yoursubdomain/httpdocs> 
     <IfModule mod_php4.c> 
       php_admin_flag engine on 
       php_admin_flag safe_mode off 
       php_admin_value open_basedir "/var/www/vhosts/yourdomain/subdomains/yoursubdomain/httpdocs:/tmp:/usr/share/php" 
     </IfModule> 
     <IfModule mod_php5.c> 
       php_admin_flag engine on 
       php_admin_flag safe_mode off 
       php_admin_value open_basedir "var/www/vhosts/yourdomain/subdomains/yoursubdomain/httpdocs:/tmp:/usr/share/php" 
     </IfModule> 
     Options -Includes -ExecCGI 
</Directory>