2010-05-21 22 views
6

Tôi đã cài đặt gói Mail_Mime.Không thể bao gồm gói lê chắc chắn tồn tại (và được cài đặt)

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

tôi nhận được các lỗi sau đây:

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 file là chắc chắn trong các thư mục:

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

danh sách lê nói với tôi rằng các gói cần thiết được cài đặt và không có thiếu phụ thuộc

+0

tôi nhận nó làm việc bằng cách thay đổi các giá trị open_basedir, bây giờ tôi chỉ cần để tìm hiểu cách thực hiện máy chủ đó (nghĩa là cho phép lê, tmp và webroot của miền hiện tại) – mononym

+0

Hãy cẩn thận: bao gồm Mail.php với chữ hoa 'M' nếu tệp của bạn đang sử dụng nó. –

Trả lời

7

Có trong đường dẫn bao gồm của bạn không?

var_dump(get_include_path()); 

Nếu không, hãy thử thêm điều này trước khi tay để thêm nó vào con đường bao gồm:

tại thời gian chạy:

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

Hoặc trong php.ini

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

Trên một lưu ý phụ, nếu bạn quan tâm đến nó được bao gồm, tại sao không sử dụng require_once? Nó sẽ ngăn không cho nó được bao gồm nhiều lần (phần _once) và gây ra lỗi nghiêm trọng. Nó cũng sẽ ngăn chặn việc thực hiện phần còn lại của mã nếu nó không thể được tìm thấy ...

+0

Đường dẫn bao gồm được đặt chính xác – mononym

+0

Bạn có quyền đọc tệp không? Liệu máy chủ? – ircmaxell

+0

đã cố gắng chmod đến 777, vẫn không hoạt động – mononym

1

Đối với người dùng Plesk sử dụng máy chủ ảo: đừng quên đưa chỉ thị Thư mục vào vhost.conf trong /var/www/vhosts/yourdomain/subdomains/yoursubdomain/conf/vhost.conf khi bạn thiết open_basedir để cho phép bao gồm các thư viện 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> 
Các vấn đề liên quan