То, что я хочу сделать, это включить 'file1.php' из 'domain1' в 'file2.php' в 'domain2'. Поэтому я решил, что должен сделать что-то вроде этого:
file2.php
require_once '/var/www/vhosts/domain1/httpdocs/file1.php';
Но это не будет работать по причинам, которые я не могу по-настоящему понять. Так что я сделал, это добавить свой путь к пути include. Что-то вроде:
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 On и Off.
UPDATE2: Также я изменил разрешения на 777 в своем тестовом файле, и я дважды проверил пути к включенному файлу в bash.
РЕШЕНИЕ: Мне удалось решить эту тайну! Моя хостинговая компания использует Plesk для управления доменами и т.д. Также уровень сообщений об ошибках в php.ini не был E_ALL. Когда я установил сообщение об ошибке в E_ALL, я получил предупреждение:
Warning: require() [function.require]: open_basedir restriction in effect.
Итак, я зашел в /var/www/vhosts/domain 2/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/domain 2/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>
Спасибо всем, ребята!