/ var / www / структура папок для проекта PHP
Я использую MAMP только для моей среды разработки и на самом деле не понял структуру папок /var/www/project-name/ на веб-сервере. Мне интересно, должны ли вы указывать веб-сервер на папку htdocs или он должен указывать на корень папки проекта?
причина, по которой я спрашиваю, заключается в том, что библиотеки должны существовать за пределами папки htdocs в целях безопасности, но как на них указывают из самого веб-приложения? Конечно веб-приложение не может получить доступ к папкам вне папки htdocs, если веб-сервер указывает на папку htdocs для веб-приложения?
5 ответов
простое решение состоит в том, чтобы иметь структуру папок следующим образом:
/var/www/project-name/
+ webroot/
+ libraries/
точка вашей помощью apache2 DocumentRoot
до . В php-коде используйте директиву include для доступа к коду библиотек.
фокус в том, чтобы понять, что php может включать любой файл в вашей системе, к которому он имеет доступ для чтения. Человек, просматривающий ваш веб-сайт, может получить доступ только к файлам внутри вашего каталог webroot.
Если у вас есть несколько vhosts на одном сервере, довольно часто иметь каждый сайт в каталоге под /var/www
, а не htdocs
папка, которая монтируется как веб-корень. Затем вы можете иметь журналы и библиотеки приложений в папке над корнем веб-сайта. Например.:
/var/www/lolcats.com
/var/www/lolcats.com/htdocs
/var/www/lolcats.com/htdocs/index.php
/var/www/lolcats.com/lib
/var/www/lolcats.com/log
PHP может получить доступ к любому файлу в файловой системе, для которого пользователь сервера apache имеет правильные разрешения. В Linux-боксе под управлением apache без виртуальных хостов /var / www является общим местом для использования каталога htdocs.
вы размещаете библиотеки в PHP include_path
, который недоступен для обычных пользователей.
это идея googd, чтобы отобразить ваши локальные веб-сайты в каталогах так же, как работают ваши домены.
часто у вас есть несколько веб-сайтов на одной учетной записи веб-хостинга, поэтому настройте виртуальные хосты для отражения установки.
Если ваш общий хостинг:
/var/www/root
/var/www/root/website1
/var/www/root/website2
/var/www/root/website3
создайте 3 хоста vitual на локальном ПК, но сохраняйте идентичную структуру файлов.
кроме того, используйте условия в файлах конфигурации для настройки сайта в зависимости от сервера структура файла, чтобы гарантировать, что один и тот же файл конфигурации работает на обеих настройках. Это означает, что вы сохраняете одношаговый процесс сборки.