Установка Zend Framework 2 без рут-доступа?

Я знаю, что для опытных разработчиков ZF это может показаться глупым, но, пожалуйста, потерпите меня. Давайте на мгновение воспользуемся нашим воображением и скажем, что у меня есть пакет хостинга на сервере Linux, который не дает мне доступа к каким-либо папкам за пределами моей папки htdocs (или к папкам www или public_html, в зависимости от того, какие).

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

Однако, учитывая вышеуказанные ограничения, это невозможно. Мои вопросы:

  1. Что касается фреймворка, могу ли я установить этот фреймворк в свою папку htdocs, скажем, поместив его в отдельную выделенную папку на том же уровне каталога, что и мое приложение, и запретить публичный доступ к нему. используя .htaccess?
  2. Насколько безопасен этот подход, если я настрою Apache на отказ во всех нелокальных запросах к этой папке и ее содержимому?
  3. Какие основные файлы я должен включить в свои сценарии, чтобы получить доступ к платформе?

Извините за аварийный список вопросов, но у меня почти нет опыта работы с Zend Framework.

Спасибо за ваше время.


person Oliver Spryn    schedule 12.09.2012    source источник


Ответы (1)


Вы можете загрузить всю библиотеку Zend на свой сервер. Лучше всего поместить его вне папки htdocs. Затем вы используете эту строку в своем коде:

$paths = array( '/path/to/Zend', get_include_path());
set_include_path(implode(PATH_SEPARATOR, $paths));

Затем вы можете использовать весь zend, как обычно:

require_once 'Zend/Controller/Front.php';
Zend_Controller_Front::run('../application/controllers');
person Green Black    schedule 12.09.2012
comment
Ниииииииииииииииииии. Спасибо, Джон. Как раз то, что я искал! - person Oliver Spryn; 13.09.2012