Apache:将XAMPP/PHP句柄从application/x-httpd-php更改为application/x-httpd-php 5

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (300)

我的目标是不再需要我的.htaccess文件的本地副本和活动副本,而是能够为两个本地/live配置使用相同的.htaccess文件。这将迫使我更好地理解配置服务器。

我的本地服务器在我的计算机上是XAMPP,而我的活动服务器是一个共享的Web主机,显然我不能更改设置。我还没有到可以从头开始配置所有东西的地步,所以我将坚持XAMPP更长一段时间。此外,任何熟悉XAMPP的人都应该知道,我试图使用他们的论坛(破译的签名/密码重置),管理员已经好几天没有回复我的电子邮件了,所以我尝试了更多的目标路径,但没有成功。

更具体的问题是,我希望使用我的实时共享服务器的PHP处理程序来处理本地服务器。

若要在我的活动共享Web主机上的非本地文件中执行PHP,请使用以下.

public_html/.htaccess

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

我想配置我的计算机/本地设置来模拟这一点,这样我就不必为本地/live保存.htaccess文件的单独副本(这迫使我学习如何配置服务器)。目前我必须在本地使用以下。

public_html/.htaccess

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

我能够找到配置似乎在XAMPP1.7.7(目前的最新版本).

xampp\apache\conf\overyhttpd-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>

所以我不知道怎么分配“应用程序/x-httpd-php5“与任何事合作”application/x-httpd-php“被分配给并记住,我不想更改我正在使用的PHP版本(工作正常)。

我还应该注意到,在使用了高级查找和替换程序之后,我在XAMPP目录中找到了8个文件,字符串为“application/x-httpd-php”,但是上面的文件似乎是与Apache的配置相关的唯一文件。

提问于
用户回答回答于

不是回答你的问题,但我不会这样对自己。Apache的配置文件格式并不是真正为这样的东西构建的。

对我来说,有两个单独的htaccess文件(比如.htaccess.htaccess.local,并通过AccessFileName指令:

AccessFileName .htaccess.local

扫码关注云+社区

领取腾讯云代金券