У меня такой вот вопросик по инклюдам (и рекваерам соответственно ;)):
Есть вот такик вот файлики:
index.php
GLOBALS/global.php
GLOBALS/config.php
GLOBALS/functions.php
Файл index.php:
<?php
require_once("GLOBALS/global.php");
bla-bla-bla...
?>
Файл GLOBALS/global.php:
<?php
require_once("config.php");
require_once("functions.php");
?>
Так вот, когда скрипт запускаю на своём компьютере (Apache/1.3.27 (Win32) PHP/4.3.0) всё работает отлично, но когда закачиваю на хостинг (*никсовый), начинает ругаться в global.php мол не могу реквайрить, нету таких файлов.
Немного помучался с include_path, сейчас в global.php добавил такие строчки:
$include_path = ".;g:/www/GLOBALS/";
//$include_path =".:/virt/homes/mysitename/htdocs/GLOBALS/";
//$include_path = ".:/var/htdocs/mysitename/GLOBALS/";
ini_set("include_path", $include_path);
Но как по мне, способ довольно кривой, вот я и хочу узнать нормальный.
Кстати, у меня по дефолту include_path = ".", а у хостинга include_path = "";
Подскажите нормальное решение, если оно существует.
=================================
Уже после того, как я это дописал (ещё в оффлайне), проверил на хостинге ещё пару фич:
-Установка include_path через .htaccess (php_value include_path ".:/var/htdocs/mysitename/GLOBALS/")не работает (никаких ошибок, но и никакого эффекта). Не знаю, в чем причина. Скорее всего в хостинге, потому что на локальном сервере работает отлично.
-Если рядом с index.php создать файл phpinfo.php (с понятным содержанием :)), то видно, что как-бы в директории / (в корне) include_path=".:/usr/local/lib/php", а в директории GLOBALS - include_path="". При этом никаких других файлов .htaccess, переназначающих инклюд_паз, замечено не было.
Ну не чудеса?