Не удается включить файлы после перехода с cPanel на Plesk

#php #cpanel #plesk

#php #cpanel #plesk

Вопрос:

У меня есть базовый набор файлов, которые включены из множества других файлов. Это избавляет меня от необходимости обновлять множество файлов при внесении изменений. Проблема в том, что в cPanel моя структура каталогов была:

База: domain/public_html/base_data поддомен: domain/public_html/subdomain

Это означало, что я мог просто вернуться в один каталог и включить файл. Теперь, когда я перешел на Plesk, это выглядит так:

База: domain/httpdocs/base_data поддомен: domain/subdomains/subdomain/httpdocs/

Проблема в том, что ни одно из моих включений не работает, когда я ../../ перехожу из своего текущего поддомена в поддомен base_data.

У кого-нибудь есть идеи, как это исправить?

РЕДАКТИРОВАТЬ: Просто включил отчет об ошибках и получил это open_basedir restriction in effect. File(/var/www/vhosts/domain.com/httpdocs/base_data/index.php) is not within the allowed path(s): (/var/www/vhosts/domain.com/subdomains/rip/httpdocs:/tmp) in /var/www/vhosts/domain.com/subdomains/rip/httpdocs/index.php on line 14

Ответ №1:

Да, используйте АБСОЛЮТНЫЙ путь.

вы можете создать $yourLibPath = 'domain/httpdocs/base_data/';

А затем включите все ваши библиотеки, используя этот var:

 include($yourLibPath.'time.lib.php');
  

Комментарии:

1. Я делаю это require("/var/www/vhosts/domain.com/httpdocs/base_data/index.php") , и это не работает. Когда я перехожу к этому файлу, я вставляю туда echo getcwd() строку и могу подтвердить правильность пути. Я делаю это неправильно?

2. в чем ошибка? Также вы сказали, что используете ../../ , и я их сейчас не вижу. Пожалуйста, не меняйте свой вопрос на лету, потому что нам становится сложнее за ним следить

3. Ошибки нет, содержимое просто не включается. Я изменил свой код в соответствии с вашим предложением использовать абсолютный путь….. Мой вопрос не меняется. Извините за любое недоразумение.

4. Я только что включил сообщение об ошибках. Действует ограничение на доступ к каталогу Open base. Сейчас изучаю это.

Ответ №2:

Удалось разобраться с этим, переопределив путь open_basedir в файле vhost.conf.