То, что я хочу сделать, это включить 'file1.php' из 'domain1' в 'file2.php' на 'domain2'. Так что я решил, что должен сделать что-то вроде этого:
file2.php
require_once '/var/www/vhosts/domain1/httpdocs/file1.php';
Но это не сработает по причинам, которые я не могу понять. Поэтому я добавил свой путь к пути включения. Что-то вроде:
file2.php
set_include_path(get_include_path() . PATH_SEPARATOR . "/var/www/vhosts/domain1/httpdocs");
require_once 'file1.php';
Так что вы можете дать мне несколько советов, где я делаю неправильно?
Спасибо
ОБНОВЛЕНИЕ - В любом случае я получаю следующее сообщение об ошибке:
Fatal error: require() [function.require]: Failed opening required '/var/www/vhosts/domain1/httpdocs/file1.php' (include_path='.:/php/includes:/usr/share/pear/') in /var/www/vhosts/domain2/httpdocs/file2.php on line 4
Также я пробовал это как с включенным, так и выключенным safe_mode.
ОБНОВЛЕНИЕ2: Я также изменил разрешения на 777 в своем тестовом файле и дважды проверил пути к файлу включения в bash.
РЕШЕНИЕ: мне удалось разгадать тайну! Моя хостинговая компания использует Plesk для управления доменами и тому подобное. Также уровень сообщения об ошибках в php.ini не был E_ALL. Когда я установил для E_ALL сообщение об ошибке, я получил предупреждение:
Warning: require() [function.require]: open_basedir restriction in effect.
Поэтому я зашел в /var/www/vhosts/domain2/conf/httpd.include и отредактировал путь open_basedir. Обратите внимание, что это не долговременное решение, так как этот файл конфигурации перезаписывается plesk при каждом изменении конфигурации домена. Вам нужно отредактировать (или создать) файл 'vhost.conf' в том же каталоге, а затем запустить:
/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=DOMAIN.TLD
Это должно изменить настройки вашего домена, но по какой-то странной причине он не будет работать с open_basedir. Я могу изменить другие вещи, такие как document_root, но это не изменит open_basedir, но это другая проблема: D
РЕШЕНИЕ ФИНАЛЬНОЕ: для тех, у кого такая же проблема, вот последний сработавший код. Я просто добавил это в /var/www/vhosts/domain2/conf/vhost.conf (вы можете изменить '/ var / www / vhosts' на '/' или что угодно):
<Directory /var/www/vhosts/DOMAIN.TLD/httpdocs>
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir "/var/www/vhosts"
</IfModule>
Options -Includes -ExecCGI
</Directory>
Спасибо всем, ребята!