Apache: изменить дескриптор XAMPP / PHP с application / x-httpd-php на application / x-httpd-php5 - PullRequest
3 голосов
/ 14 февраля 2012

Моя цель состоит в том, чтобы перестать иметь локальную копию и оперативную копию моего файла .htaccess и вместо этого иметь возможность использовать один и тот же файл .htaccess для ОБОИХ локальных / текущих конфигураций. Это заставит меня лучше понять настройку сервера.

Мой локальный сервер - это XAMPP на моем компьютере, в то время как мой живой сервер является общим веб-хостом, где я, очевидно, не могу изменить настройки. Я не в том месте, где я могу настроить все с нуля, поэтому я буду придерживаться XAMPP еще немного. Кроме того, любой, кто знаком с XAMPP, должен знать, что я пытался использовать их форумы (неработающий вход в систему / сброс пароля), и администратор не отвечал на мою электронную почту в течение нескольких дней, поэтому я безуспешно пробовал использовать более целевой маршрут.

Более конкретная проблема заключается в том, что я хочу использовать обработчик PHP моего общего общего сервера для локального сервера.

Для выполнения PHP в не собственных файлах на моем общедоступном веб-хосте я использую следующее ...

public_html / .htaccess

AddType application/x-httpd-php5 .css .html .js .txt .xml

... Я хочу настроить мой компьютер / локальную настройку для эмуляции этого, чтобы мне не приходилось хранить отдельные копии файлов .htaccess для локального / живого (это заставляет меня учиться настраивать сервер). В настоящее время я должен использовать следующее локально ...

public_html / .htaccess

AddType application/x-httpd-php .css .html .js .txt .xml

Мне удалось отследить, где конфигурация находится в XAMPP 1.7.7 (текущий последний выпуск) ...

XAMPP \ Apache \ конф \ экстра \ HTTPD-xampp.conf

Теперь меня не интересует изменение используемой версии PHP (не моя цель) ... Я просто хочу убедиться, что я могу использовать тот же дескриптор локально, как и вживую. Я попытался просто добавить строку «5» в строку 17 (?) Ниже, хотя это не сработало (сохраненный, остановленный сервер, конечно, перезапущенный сервер).

<IfModule env_module>
    SetEnv MIBDIRS "C:/MEDIA/INTERNET/xampp/php/extras/mibs"
    SetEnv MYSQL_HOME "\\xampp\\mysql\\bin"
    SetEnv OPENSSL_CONF "C:/MEDIA/INTERNET/xampp/apache/bin/openssl.cnf"
    SetEnv PHP_PEAR_SYSCONF_DIR "\\xampp\\php"
    SetEnv PHPRC "\\xampp\\php"
    SetEnv TMP "\\xampp\\tmp"
</IfModule>

#
# PHP-Module setup
#
LoadFile "C:/MEDIA/INTERNET/xampp/php/php5ts.dll"
LoadModule php5_module "C:/MEDIA/INTERNET/xampp/php/php5apache2_2.dll"

<FilesMatch "\.php$">enter code here
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

#
# PHP-CGI setup
#
#<FilesMatch "\.php$">
#    SetHandler application/x-httpd-php-cgi
#</FilesMatch>
#<IfModule actions_module>
#    Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"
#</IfModule>


<IfModule php5_module>
    PHPINIDir "C:/MEDIA/INTERNET/xampp/php"
</IfModule>

<IfModule mime_module>
    AddType text/html .php .phps
</IfModule>

ScriptAlias /php-cgi/ "C:/MEDIA/INTERNET/xampp/php/"
<Directory "C:/MEDIA/INTERNET/xampp/php">
    AllowOverride None
    Options None
    Order deny,allow
    Deny from all
    <Files "php-cgi.exe">
        Allow from all
    </Files>
</Directory>

<Directory "C:/MEDIA/INTERNET/xampp/cgi-bin">
    <FilesMatch "\.php$">
        SetHandler cgi-script
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler None
    </FilesMatch>
</Directory>

<Directory "C:/MEDIA/INTERNET/xampp/htdocs/xampp">
    <IfModule php5_module>
        <Files "status.php">
            php_admin_flag safe_mode off
        </Files>
    </IfModule>
    AllowOverride AuthConfig
</Directory>

<IfModule alias_module>
    Alias /security "C:/MEDIA/INTERNET/xampp/security/htdocs/"
    <Directory "C:/MEDIA/INTERNET/xampp/security/htdocs">
        <IfModule php5_module>
            <Files "xamppsecurity.php">
                php_admin_flag safe_mode off
            </Files>
        </IfModule>
        AllowOverride AuthConfig
   </Directory>

    Alias /phpmyadmin "C:/MEDIA/INTERNET/xampp/phpMyAdmin/"
    <Directory "C:/MEDIA/INTERNET/xampp/phpMyAdmin">
        AllowOverride AuthConfig
    </Directory>

    Alias /webalizer "C:/MEDIA/INTERNET/xampp/webalizer/"
    <Directory "C:/MEDIA/INTERNET/xampp/webalizer">
        <IfModule php5_module>
            <Files "webalizer.php">
                php_admin_flag safe_mode off
            </Files>
        </IfModule>
        AllowOverride AuthConfig
    </Directory>
</IfModule>

Так что я не знаю, как назначить « application / x-httpd-php5 » для работы с любым назначением « application / x-httpd-php » и помните, я не хочу менять версию PHP, которую я использую (работает нормально).

Следует также отметить, что после использования программы Advanced Find & Replace я нашел восемь файлов в каталоге XAMPP со строкой «application / x-httpd-php», однако приведенный выше файл является единственным, который кажется имеет отношение к конфигурации Apache.

1 Ответ

3 голосов
/ 14 февраля 2012

Не совсем ответ на твой вопрос, но я бы этого не сделал для себя. Формат файла конфигурации Apache на самом деле не создан для подобных вещей.

Для меня наличие двух отдельных файлов htaccess (таких как .htaccess и .htaccess.local и управление локальным сервером с помощью директивы AccessFileName:

AccessFileName .htaccess.local

- лучший путь.

Если вы действительно хотите, чтобы все было в одном файле, это может быть возможно при использовании блоков <IfDefine> для разделения локальных и живых директив. Вам нужно будет установить определение при локальном запуске сервера, а затем проверить наличие или отсутствие этого определения.

...