#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.