Intereting Posts
процентная ставка php Публикация журнала подачи для других пользователей отключена для этого приложения Есть ли бесплатный сайт для хранения кода (php, javascript, css) в Интернете? Рекомендации по безопасному удалению (PHP / MySQL) Выйти из системы, если пользователи неактивны в течение определенного периода времени глобальные переменные равны нулю при использовании PHPUnit Как взаимодействовать с PKCS # 11 совместимым устройством HSM в PHP как я могу получить идентификатор входа пользователя из mysql с помощью глобальной переменной в моем приложении для Android? Захват прогресса из командной строки PHP – Post Media / Image to twitter Операция внутри вида в ларавеле jQuery Проверять использование удаленного метода для проверки того, существует ли имя пользователя mysqli_error () ожидает, что параметр 1 будет mysqli, null PHP и MySQL – самая маленькая и самая большая возможная дата Являются ли методы магии лучшей практикой в ​​PHP?

Сделать файл XAMPP / Apache за пределами htdocs

Можно ли настроить xampp для работы с файлом вне htdocs ?

Например, скажем, у меня есть файл, который выглядит следующим образом:

C:\projects\transitCalculator\trunk\TransitCalculator.php

и мои файлы xampp обычно подаются из:

C:\xampp\htdocs\

(потому что это настройка по умолчанию) Есть ли способ сделать Apache распознанным и обслуживать мой файл TransitCalculator.php не перемещая его под htdocs ? Я предпочитаю, чтобы Apache обслуживал / имел доступ ко всему содержимому каталога проектов, и я не хочу переместить каталог проектов под htdocs .

edit: отредактировано, чтобы добавить Apache в заголовок вопроса, чтобы сделать Q / A более "доступным для поиска"

Хорошо, на пиксель , ответы Sparks 'и Dave, похоже, есть три способа сделать это:


Виртуальные хосты

  1. Откройте C: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf.
  2. Некоммерческая строка 19 ( NameVirtualHost *:80 ).
  3. Добавьте свой виртуальный хост (~ строка 36):

     <VirtualHost *:80> DocumentRoot C:\Projects\transitCalculator\trunk ServerName transitcalculator.localhost <Directory C:\Projects\transitCalculator\trunk> Order allow,deny Allow from all </Directory> </VirtualHost> 
  4. Откройте файл hosts (C: \ Windows \ System32 \ drivers \ etc \ hosts).

  5. Добавить

     127.0.0.1 transitcalculator.localhost #transitCalculator 

    до конца файла (до использования Spybot – Search & Destroy, если у вас это установлено).

  6. Сохранить (Возможно, вам придется сохранить его на рабочем столе, изменить разрешения на старый файл hosts (щелкните правой кнопкой мыши> свойства) и скопировать новый в каталог поверх старого (или переименовать старый), если вы используете Vista и есть проблемы).
  7. Перезапустите Apache.

Теперь вы можете получить доступ к этому каталогу, просмотрев http: //transitcalculator.localhost/ .


Сделать псевдоним

  1. http.conf ~ строку 200 вашего файла http.conf , скопируйте все между <Directory "C:/xampp/htdocs"> и </Directory> (~ строка 232) и вставьте его сразу же с C:/xampp/htdocs на ваш (в данном случае C:/Projects ), чтобы предоставить вашему серверу правильные разрешения для нового каталога.

  2. Найдите <IfModule alias_module></IfModule> (~ строка 300) и добавьте

     Alias /transitCalculator "C:/Projects/transitCalculator/trunk" 

    (или что-то, что имеет отношение к вашим желаниям) ниже блока комментариев Alias , внутри тегов модуля.


Изменить корень документа

  1. Изменить ~ строку 176 в C: \ xampp \ apache \ conf \ httpd.conf; измените DocumentRoot "C:/xampp/htdocs" на #DocumentRoot "C:/Projects" (или все, что вы хотите).

  2. Edit ~ line 203, чтобы соответствовать вашему новому местоположению (в данном случае C:/Projects ).


Заметки:

  • Вы должны использовать косые черты "/" вместо обратных косых черт "\".
  • Не включайте конечный «/» в конце.
  • перезагрузите сервер .

Вы можете переместить его, отредактировав параметр DocumentRoot в XAMPP \ apache \ conf \ httpd.conf.

В настоящее время это должно быть:

C: / XAMPP / HTDOCS

Измените его на:

C: / проекты / transitCalculator / багажник

VirtualHost также будет работать для этого и может работать лучше для вас, поскольку вы можете размещать несколько проектов без необходимости в подкаталогах. Вот как вы это делаете:

httpd.conf (или extra \ httpd-vhosts.conf относительно httpd.conf. Принудительные косые черты «\» могут не работать):

 NameVirtualHost *:80 # ... <VirtualHost *:80> DocumentRoot C:\projects\transitCalculator\trunk\ ServerName transitcalculator.localhost <Directory C:\projects\transitCalculator\trunk\> Order allow,deny Allow from all </Directory> </VirtualHost> 

HOSTS файл (c: \ windows \ system32 \ drivers \ etc \ hosts обычно):

 # localhost entries 127.0.0.1 localhost transitcalculator.localhost 

Теперь перезапустите XAMPP, и вы должны иметь доступ к http: //transitcalculator.localhost/, и он будет отображаться прямо в этот каталог.

Это может быть полезно, если вы пытаетесь реплицировать производственную среду, в которой вы разрабатываете сайт, который будет размещаться в корне имени домена. Например, вы можете указать файлы с абсолютными путями, которые будут перенесены на сервер:

 <img src="/images/logo.png" alt="My Logo" /> 

тогда как в среде, использующей псевдонимы или подкаталоги, вам нужно будет отслеживать, где именно каталог «images» относился к текущему файлу.

Вы можете установить Apache для обслуживания страниц из любого места с любыми ограничениями, но он обычно распространяется в более безопасной форме.

Редактирование файлов apache (http.conf является одним из наиболее распространенных имен) позволит вам установить любую папку, чтобы она отображалась в вашем веб-корне.

РЕДАКТИРОВАТЬ:

alias myapp c: \ myapp \

Я отредактировал свой ответ, чтобы включить формат для создания псевдонима в файле http.conf, который похож на ярлык в окнах или символическую ссылку в un * x, где Apache «притворяется», что папка находится в webroot. Вероятно, это будет более полезно для вас в долгосрочной перспективе.

В качестве побочного примечания, если вы пытаетесь заставить XAMPP использовать сетевой диск в качестве корня вашего документа, вам нужно использовать пути UNC в httpd.conf. XAMPP не распознает подключенные сетевые диски.

Например, следующее не будет работать, DocumentRoot "X: / webroot"

Но это будет, DocumentRoot "//192.168.10.100/webroot" (обратите внимание на косые черты, а не на обратные косые черты)

Ни одно из этих решений не работало легко. Вот простейшее решение, позволяющее Apache 2 размещать веб-сайты за пределами htdocs:

Под директивой «DocumentRoot» в httpd.conf вы должны увидеть блок каталога. Замените этот блок каталога на:

 <Directory /> Options FollowSymLinks AllowOverride All Allow from all </Directory> 

ПОМНИТЕ, ЧТОБЫ НЕ ИСПОЛЬЗОВАТЬ ЭТУ КОНФИГУРАЦИЮ В РЕАЛЬНОЙ ОКРУЖАЮЩЕЙ СРЕДЕ