PHP включает в себя, htaccess и allow_url_fopen - PullRequest
1 голос
/ 01 февраля 2011

Сценарий: разработка на размещенном сервере, htaccess = Basic Auth, allow_url_fopen = on

Проблема: Когда я включаю файлы с их URL-адресом, мой htaccess блокирует включение и возвращает ошибку 401.

Известные решения: относительный путь (../), $ _SERVER ['DOCUMENT_ROOT'].

Вопрос: Есть ли другой путь?Я хотел бы сохранить URL, если это возможно, в этом сценарии.Кроме того, я использую файл включения для своих нижних колонтитулов, должен ли я вместо этого использовать tpl (я ничего не знаю о tpl)?

РЕДАКТИРОВАТЬ: я в настоящее время путаю структуру папок.У меня есть example.com и secure.example.com (где установлен ssl).Поэтому в моей защищенной папке я хочу включить файлы из корня.Я подумал, что было бы проще, если бы я использовал URL, потому что вызов document_root переносит меня только в безопасную папку (не в root), и если я перемещаю файл, относительный путь может не работать.

1 Ответ

2 голосов
/ 01 февраля 2011

Вы действительно не хотите этого делать. Вот почему опция отключена по умолчанию. Лучший способ справиться с этим - получить файлы с помощью libcurl.

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);

Затем вы можете записать данные в файл и включить их. Это все еще очень рискованное поведение, потому что вы доверяете удаленному источнику. Цепочка настолько же надежна, насколько и ее самое слабое звено. Использование SSH и периодическая синхронизация могут быть жизнеспособной альтернативой.

...