AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 524668
Accepted
Bailey Parker
Bailey Parker
Asked: 2013-07-20 00:49:15 +0800 CST2013-07-20 00:49:15 +0800 CST 2013-07-20 00:49:15 +0800 CST

更改 PHP 的处理程序名称

  • 772

在我的 apache 服务器上,我想同时运行多个版本的 PHP,以便我可以根据项目的需要轻松地在它们之间切换。我注意到一些提供多个 PHP 版本的共享主机提供商要求您在以下位置定义所需的 PHP 版本.htaccess:

AddHandler application/x-httpd-php5 .php

我想在我的服务器上实现这样的东西,这样我就可以轻松地切换 PHP 版本:

AddHandler application/xhttpd-php53 .php
 # .. or ..
AddHandler application/xhttpd-php54 .php
 # .. or ..
AddHandler application/xhttpd-php55 .php

但是,我编译的所有 PHP 版本都有一个名为application/xhttpd-phpor的处理程序php5-script。我试图搜索一个./configure允许您更改这些处理程序名称的标志,但没有任何结果。

我在PHP github repo中搜索了这两个 字符串,这就是我发现的:

  • /sapi/apache2filter/sapi_apache2.c(第 666-668 行)
  • /sapi/apache2handler/sapi_apache2.c(第 68-70 行)
  • /main/php.h(第 242 行)
  • /sapi/apache/mod_php5.c(第 979 行)
  • /sapi/apache_hooks/mod_php5.c(第 1408 行)

用新的处理程序名称和版本号替换这些字符串是否安全,或者是否有更广泛使用的(或实际记录的)方法来更改处理程序名称?

apache-2.2
  • 1 1 个回答
  • 508 Views

1 个回答

  • Voted
  1. Best Answer
    ALex_hha
    2013-07-20T01:28:18+08:002013-07-20T01:28:18+08:00

    您可以将其中一个 php 版本用作模块,将另一个版本用作 cgi。如果您需要在某些特定项目(虚拟主机)中使用特定的 php 版本,您可以使用类似

    <VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /vhosts/php55.example.net/
        ServerName php55.example.net
    
        ScriptAlias /php-fastcgi/ /usr/local/php-5.5.1/bin/
    
        AddHandler php-fastcgi .php
        AddType application/x-httpd-php .php
        Action php-fastcgi /php-fastcgi/php-cgi
    
        <Directory /vhosts/php55.example.net>
            DirectoryIndex index.php
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /vhosts/php54.example.net/
        ServerName php54.example.net
    
        ScriptAlias /php-fastcgi/ /usr/local/php-5.4.17/bin/
    
        AddHandler php-fastcgi .php
        AddType application/x-httpd-php .php
        Action php-fastcgi /php-fastcgi/php-cgi
    
        <Directory /vhosts/php54.example.net>
            DirectoryIndex index.php
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    
    • 1

相关问题

  • Apache Django Mod_Wsgi - 自动重新加载应用程序

  • Apache:对多个虚拟主机使用相同的目录指令

  • Apache 上的子域不工作 - 找不到服务器

  • PHP 作为 CGI 还是 Apache 模块?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve