Не могу включить грушевый пакет, который определенно существует (и установлен) - PullRequest
6 голосов
/ 21 мая 2010

Я установил пакет 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

pear list говорит мне, что требуемые пакеты установлены и отсутствуют отсутствующие зависимости

Ответы [ 2 ]

7 голосов
/ 21 мая 2010

Это в вашем пути включения?

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) и приведет к фатальной ошибке. Это также предотвратит выполнение остальной части кода, если он не может быть найден ...

1 голос
/ 18 ноября 2010

Для пользователей Plesk, использующих виртуальные хосты: не забудьте включить директиву Directory в vhost.conf в / var / www / vhosts / вашдомен / поддомен / 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>
...