Почему не срабатывает "include" ?

Главные вкладки

Аватар пользователя Shedko Shedko 11 ноября 2006 в 20:44

Использую в теме включение через команду "include",

Вот 2 выдержки их шаблонов:

<?php
if ( ( $block->module == 'nice_menus' ) || ( $block->module == 'blockcache' && $block->
delta == '15' ) ) {
    include 'block-menu.tpl.php';
    return; }
?>
<?php
  if (!_is_forum()) {
    include('page.tpl.php');
    return;
  }
  $curr_user = user_load(array('uid' => $userid));
  $sig = $curr_user->signature;
?>

но не знаю по какой причине включение не происходит, в логах пишет:

main() [function.include]: Failed opening 'page.tpl.php' for inclusion (include_path='.:') in /var/www/vhosts/softq.org/httpdocs/themes/luna/node-forum.tpl.php on line 3.

main(page.tpl.php) [function.main]: failed to open stream: Operation not permitted in /var/www/vhosts/softq.org/httpdocs/themes/luna/node-forum.tpl.php on line 3.

main() [function.main]: open_basedir restriction in effect. File(/page.tpl.php) is not within the allowed path(s): (/var/www/vhosts/softq.org/httpdocs:/tmp) in /var/www/vhosts/softq.org/httpdocs/themes/luna/node-forum.tpl.php on line 3.

на третей линии именно include.

Как понимаю загвоздка скорее всего в правах на файлы, так вот,
Какие права должны быть на файлы темы ? (сейчас 644).

Комментарии

Аватар пользователя Shedko Shedko 12 ноября 2006 в 6:46

Путем поиска на drupal.org было выяснено, что эта ошибка была много у кого,
и чтобы код заработал, как временное решение надо прописать полный путь к файлу,
т.е. вместо

include 'block-menu.tpl.php';

Надо

include '/var/www/vhosts/softq.org/httpdocs/themes/luna/block-menu.tpl.php';

причем что интересно, что у меня эта проблема не появлялась на версиях 4.7.2. и на 4.7.3 а на 4.7.4 всплыла.

Аватар пользователя Shedko Shedko 12 ноября 2006 в 17:10

не на всех серверах и не на всех версиях друпала :-).
Просто в предыдущих версиях вообще использовал "block-menu.tpl.php" но теперь приходится писать полный путь.

Cудя по комментариям на drupal.org - в общем как повезет, .

Аватар пользователя Teodore@drupal.org Teodore@drupal.org 15 ноября 2008 в 11:41

Столкнулся с аналогичной проблемой при установке Друпал 6.6 на старый PHP-сайт. Требовалось оставить его в прежнем виде и прикрепить к друпалу. В результате inklude на старых страницах перестали правильно отображаться. Несколько часов ковырялся , пока не наткнулся на этот пост.
Подправил пути и Вуаля!
Огромное спасибо автору )))