Структура каталогов основного кода PHP - PullRequest
1 голос
/ 15 апреля 2011

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

/ var / www / website - domain.com
/ var / www / subdomain1 - subdomain1.domain.com
/ var / www / subdomain2 - subdomain2.domain.com

Естественно, у меня было много проблем, когда дело дошло до дублирования общей функциональности, поскольку любые изменения, внесенные в одну область, также должны были бы применяться к другим областям. Мое предлагаемое решение - создать новый каталог в / var / www , который будет содержать все основные скрипты:

/ var / www / code - основной код

Я бы тогда установил каталог включения PHP на / var / www / code , чтобы скрипты могли включать эти файлы без указания абсолютного пути.

Можете ли вы придумать более эффективные способы централизации кода?

Большое спасибо!

Ответы [ 3 ]

1 голос
/ 15 апреля 2011

Ваш подход достаточно хорош для этой цели.

Маленькое предложение: сохраните свои сценарии интерфейса в каталоге, например / var / www / website / www вместо / var / www / website. Там будут индексный файл, ajax-процессоры и подобные сценарии. Но ваши основанные на проекте включения (так же как другие разные вещи) будут сохранены в каталоге как / var / www / website / includes. Это простая, но эффективная защита от хакерских атак на ваши файлы включения

Итак, ваши корни документов будут находиться в / var / www / website / www (домен) и / var / www / website / subdomain / www / (поддомен)

0 голосов
/ 15 апреля 2011

Это всего лишь предложение, но вы должны поместить общедоступный контент в /var/www/*, который может перестать быть общедоступным - либо из-за вашего http-сервера, либо из-за неправильной конфигурации - и создать несколько других каталогов для вашего общего кода / библиотек.например, /usr/local/lib/php/*.

Для большей безопасности вы должны добавить в кадр open_basedir, добавив частные и публичные каталоги, а также файлы загрузки и сеансов.

И не забудьте версиюваши библиотеки, например:

/usr/local/lib/php/myLib-1.0<br> /usr/local/lib/php/myLib-1.2

и т. д.

Таким образом, вы сможете вносить изменения, не нарушая ничего.

0 голосов
/ 15 апреля 2011

Кажется, что вы думаете правильно:

Обмен кодом между несколькими сайтами PHP

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