Поделиться кодом между несколькими сайтами PHP - PullRequest
1 голос
/ 20 сентября 2010

Добрый вечер.Я нашел несколько вопросов, которые, казалось, задавали то же самое, что и я, но ни один из ответов, похоже, не работает для меня.По сути, у меня есть несколько общих файлов PHP (в основном это классы, но некоторые нет), которые я хочу использовать на нескольких сайтах PHP.

Вот пример структуры моей папки:

Корень сайта A C: \ Personal \ WebSites \ SiteA

Корень сайта B C: \ Personal \ WebSites \ SiteB

Общий код C: \ Personal \ WebSites \ Shared

С сайта AI пытался использовать include ("../ Shared / foo.php") для доступа к файлам, но это не сработало.У меня такое ощущение, что это происходит из-за того, что папка находится за корневой папкой сайта SiteA.Есть ли способ просто включить файлы из общего каталога?Я не могу представить, что это необычная практика, но я просто не могу понять.

Кстати, я использую PHP 5.2.14 через IIS (через FastCGI) в Windows 7, если это имеет значение.Со временем я перенесу эти сайты на хостинг Linux / Apache, поэтому я бы предпочел, чтобы любое решение работало с любым из них.

Спасибо !!

Ответы [ 2 ]

3 голосов
/ 20 сентября 2010

В вашем php.ini вы можете добавить каталоги в include_path, и они включают файлы с этого момента.

"C:\Personal\Websites\Shared;"

Если вы добавите такую ​​строку к уже существующему include_path, вы можете сделать include 'specialDir\Class.php' where specialDir is a directory in Shared`.

3 голосов
/ 20 сентября 2010

Лучше всего установить каталог где угодно (например, C: \ Personal \ Shared) и отредактировать php.ini include_path, чтобы добавить этот каталог в качестве пути включения. Убедитесь, что вы правильно установили разрешения, чтобы IIS позволил вам получить доступ к этому каталогу (я не на 100% знаю, как это сделать с Windows, но это должно быть довольно просто).

Тогда все, что вам нужно сделать, это включить файл, как если бы он находился в том же каталоге (PHP обрабатывает поиск включаемых каталогов для вас).

Например, если у вас был C: \ Personal \ Shared \ foo.php, вы можете включить его следующим образом:

include("foo.php");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...