Подключение файла к сотне сайтов, как реализовать?

S
На сайте с 13.11.2012
Offline
72
#11

С другой проблемой столкнулся.

Файлы подключать научился, выношу шаблон в /data/шаблон

Сайт цепляет шаблон из data папки, далее шаблон не может получить данные из базы php, что расположена в корне самого сайта :(

данные о title и т.д.

Понять не могу как победить это.

include('../../шаблон');

Тоже самое и с панелью управления, панель коннектится а сохранять не понятно куда, должно сохранить на сайте - файл базы данных.

Т.е. с разных доменов захожу в панель управления, вношу правки и сохраняю, изменения должны сохраниться в том сайте на котором я находился а не на для всех сразу.

Короче запутался, не знаю как объяснить, пошел формулировать вопрос...

SeVlad
На сайте с 03.11.2008
Offline
1609
#12

симлиннки, жит..

А что, банальный include (и тп) уже не в моде? Зачем плодить сущности?

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
Bond_007
На сайте с 11.10.2010
Offline
62
#13

Конфилкт путей. Вам надо делать проверки откуда идет include файла и соответственно выдавать абсолютные пути а не относительные!

LinkBoss.net - Трастовые ссылки для увеличения трафика в 10 раз! (http://linkboss.net/)
K0
На сайте с 01.09.2016
Offline
72
#14
Smirnof:
далее шаблон не может получить данные из базы php, что расположена в корне самого сайта

Сохраните путь к изначальному php-файлу еще до самого первого include в переменную из __DIR__ или __FILE__. Потом используйте эту переменную во включенном скрипте.

DV
На сайте с 01.05.2010
Offline
644
#15

Продолжу тему git.

Composer зарядить :)

На самом деле, идеологически самый верный метод, composer именно для этого сделан, хотя и самый… замудрствованный.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
L
На сайте с 10.02.2015
Offline
260
#16
kom09:
Сохраните путь к изначальному php-файлу еще до самого первого include в переменную из __DIR__ или __FILE__. Потом используйте эту переменную во включенном скрипте.

Лучше использовать $_SERVER['DOCUMENT_ROOT'] и от него плясать.

S
На сайте с 13.11.2012
Offline
72
#17
livetv:
Лучше использовать $_SERVER['DOCUMENT_ROOT'] и от него плясать.

Это как я понял корень сайта папка /var/www/..../data/www, а как внедрить это?

Т.е. этому $_SERVER['DOCUMENT_ROOT'] нужно как-то передать имя папки /var/www/..../data/www/сайт в момент обращения к файлу шаблона /data/шаблон include('../../шаблон');

А как?

Видимо получится что-то подобное этому

Сохраните путь к изначальному php-файлу еще до самого первого include в переменную из __DIR__ или __FILE__. Потом используйте эту переменную во включенном скрипте

но опять, не могу понять, каким образом это делать, теоретически понимаю дальше туплю...

K0
На сайте с 01.09.2016
Offline
72
#18

Разжевываем. :)

/public_html/site1/index.php

<?
$datafile = __DIR__."/data.php";
print(__FILE__."<br/>");
include("../common.php");
?>

/public_html/common.php

<?
print(__FILE__."<br/>");
include($datafile);
?>

/public_html/site1/data.php

<?
print(__FILE__."<br/>");
?>

Вся эта цепочка выведет:

/public_html/site1/index.php

/public_html/common.php

/public_html/site1/data.php

Предполагается что common.php недоступен никому из интернета, иначе он одна большая уязвимость.

R
На сайте с 20.02.2015
Offline
59
#19

Шаблон и панель управления(админка) одна для всех сайтов, только разные БД для каждого хоста, как я понял..

Все хосты назначьте на один(единый) DocumentRoot - и там держите скрипты(шаблон, админку) а сами БД в вашем случаи держите в некой директории, к примеру /var/www/DocumentRoot/data/%host%/db.php

Далее скриптом проверяем хост и в зависимости от него подключайте нужную БД.

include(__DIR__."/data/".$_SERVER['HTTP_HOST']."/db.php")

В итоге типа "мультидоменость" получиться, один скрипт на разных БД.

S
На сайте с 13.11.2012
Offline
72
#20

rereg, я правильно понял, что в самих папках с сайтами будет только база данных?

Пошел тестировать...

---------- Добавлено 09.09.2016 в 00:49 ----------

Прочел еще раз, понял, что не верно я все понял.

Папку нужно создать с именем %host% или именем домена?

/var/www/DocumentRoot/data/%host%/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий