You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Drupal 6单独使用PHP 5.6,其余项目保留PHP 7.2.3?

实现Drupal 6单独使用PHP 5.6,其余项目保留PHP 7.2.3

当然可以做到!针对你Ubuntu 16.04服务器的情况,我分Apache和Nginx两种最常用的服务器环境,整理了具体操作步骤:

如果你用的是Apache服务器

Ubuntu 16.04上的Apache搭配php-fpm是实现多PHP版本共存的最优方案,步骤如下:

  1. 确保PHP 5.6-FPM正常运行
    先检查服务状态:

    sudo systemctl status php5.6-fpm
    

    如果没安装,直接执行安装命令:

    sudo apt-get install php5.6-fpm
    

    启动并设置开机自启:

    sudo systemctl start php5.6-fpm
    sudo systemctl enable php5.6-fpm
    
  2. 给Drupal 6站点单独配置PHP版本
    找到你的Drupal 6站点的Apache配置文件(一般在/etc/apache2/sites-available/目录下),打开后在<VirtualHost>块里添加这段配置,强制该站点使用PHP 5.6-FPM:

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost/"
    </FilesMatch>
    

    要是不知道PHP 5.6-FPM的sock路径,去/etc/php/5.6/fpm/pool.d/www.conf里找listen这一行就行,或者临时建个phpinfo.php查一下。

  3. 重启Apache生效

    sudo systemctl restart apache2
    

如果你用的是Nginx服务器

Nginx本身不处理PHP请求,都是转发给php-fpm,所以配置起来更直接:

  1. 确认PHP 5.6-FPM状态
    和Apache环境一样,先确保服务在运行:

    sudo systemctl status php5.6-fpm
    

    没安装的话执行安装命令:

    sudo apt-get install php5.6-fpm
    
  2. 修改Drupal 6站点的Nginx配置
    找到站点的Nginx配置文件(通常在/etc/nginx/sites-available/),找到处理PHP请求的location ~ \.php$块,把原来指向PHP 7.2-FPM的fastcgi_pass改成PHP 5.6的sock路径:

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        # 替换成PHP 5.6-FPM的sock路径
        fastcgi_pass unix:/run/php/php5.6-fpm.sock;
    }
    

    同样,sock路径不对的话去/etc/php/5.6/fpm/pool.d/www.conf里找listen的值。

  3. 验证配置并重启Nginx

    sudo nginx -t
    sudo systemctl restart nginx
    

验证配置是否成功

在Drupal 6站点根目录新建一个phpinfo.php文件,内容:

<?php phpinfo(); ?>

访问这个文件,看页面里的PHP Version是不是5.6就知道了。记得用完删掉这个文件,别留安全隐患!

另外说一句,你之前遇到的mbstring.http_input报错,本质是Drupal 6和PHP 7+兼容性极差——PHP 7.0及以上已经移除了mbstring.http_input这类全局配置项,切换到PHP 5.6后这个问题会自动消失,正好完美适配Drupal 6的需求。

内容的提问来源于stack exchange,提问作者user9465677

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:49:40