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
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1486863
Accepted
Hawk007
Hawk007
Asked: 2023-09-24 23:44:49 +0800 CST2023-09-24 23:44:49 +0800 CST 2023-09-24 23:44:49 +0800 CST

如何在 Ubuntu 22.04 上为 php 5.6 启用 mcrypt

  • 772

我正在使用 Ubuntu 22.04 和一个需要 PHP 5.6 的网站。但在安装网站脚本时出现错误:

mcrypt is not enabled on your web hosting account

为了安装mcrypt,我使用了:

sudo apt install php5.6-mcrypt 

但在 php 信息中它没有启用。我尝试过phpenmod mcrypt,并且收到类似以下的警告:

WARNING: Module mcrypt ini file doesn't exist under /etc/php/8.2/mods-available
WARNING: Module mcrypt ini file doesn't exist under /etc/php/8.0/mods-available

我尚未在这些版本的 PHP 上安装 mcrypt,因此不需要它们。

然而,似乎没有什么能让 php5.6 mcrypt 启动。

我尝试将下面的行添加到其中,php.ini但这又不能解决问题。

extension=mcrypt.so
extension=php_mcrypt.dll

关于如何让 mcrypt 适用于 php5.6 的任何想法。

我正在使用php5.6-fpm并将其添加到虚拟主机中,以便为 sdomain 加载 php5.6。

附加信息:

inkspot@vps:~$ sudo apt install php5.6-mcrypt
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
php5.6-mcrypt is already the newest version (5.6.40-68+ubuntu22.04.1+deb.sury.or g+1).
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

inkspot@vps:~$ sudo a2enmod proxy_fcgi
Considering dependency proxy for proxy_fcgi:
Module proxy already enabled
Module proxy_fcgi already enabled

inkspot@vps:~$ sudo a2enmod setenvif
Module setenvif already enabled

inkspot@vps:~$ sudo a2enconf php5.6-fpm
Enabling conf php5.6-fpm.
To activate the new configuration, you need to run:
  systemctl reload apache2
  
inkspot@vps:~$ sudo phpenmod mcrypt
WARNING: Module mcrypt ini file doesn't exist under /etc/php/8.2/mods-available
WARNING: Module mcrypt ini file doesn't exist under /etc/php/8.2/mods-available
WARNING: Module mcrypt ini file doesn't exist under /etc/php/8.2/mods-available
WARNING: Module mcrypt ini file doesn't exist under /etc/php/8.1/mods-available
WARNING: Module mcrypt ini file doesn't exist under /etc/php/8.1/mods-available
WARNING: Module mcrypt ini file doesn't exist under /etc/php/8.1/mods-available

inkspot@vps:~$ sudo service apache2 restart
inkspot@vps:~$ sudo service php5.6-fpm restart
inkspot@vps:~$

这是以下结果: sudo apache2ctl -M

Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 expires_module (shared)
 fcgid_module (shared)
 filter_module (shared)
 mime_module (shared)
 mpm_prefork_module (shared)
 negotiation_module (shared)
 php_module (shared)
 proxy_module (shared)
 proxy_fcgi_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 security2_module (shared)
 setenvif_module (shared)
 socache_shmcb_module (shared)
 ssl_module (shared)
 status_module (shared)
 unique_id_module (shared)

apache2
  • 1 1 个回答
  • 184 Views

1 个回答

  • Voted
  1. Best Answer
    sotirov
    2023-10-13T05:12:53+08:002023-10-13T05:12:53+08:00

    从您到目前为止告诉我的情况来看,您可能遇到了一些旧的配置文件制作问题。你提到你保留了一个旧的php.ini. 在这种情况下,最好清除所有php5.6包并删除它们的配置。

    sudo apt purge php5.6*
    sudo apt autoremove
    sudo rm -rf /etc/php/5.6/
    

    在 Ubuntu 22.04 上,默认 PHP 版本是 8.2。

    要在 Ubuntu 22.04 上安装php5.6-fpm,首先您需要添加ppa:ondrej/php存储库,因为php5.6软件包不在官方存储库中。

    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    sudo apt upgrade
    

    安装php5.6包:

    sudo apt install php5.6
    sudo apt install php5.6-fpm
    sudo apt install php5.6-mcrypt
    

    要在特定站点上启用 php5.6-fpm,您必须编辑站点的 virtualhost 文件(默认为/etc/apache2/sites-available/000-default.conf)。在<VirtualHost *:80>和之间</VirtualHost>,添加以下代码:

    <FilesMatch \.php$>
        <If "-f %{REQUEST_FILENAME}">
            SetHandler "proxy:unix:/var/run/php/php5.6-fpm.sock|fcgi://localhost/"
        </If>
    </FilesMatch>
    

    启用模块和配置:

    sudo a2enmod proxy_fcgi
    sudo a2enmod setenvif
    sudo a2enconf php5.6-fpm
    sudo phpenmod mcrypt
    

    重新启动 Apache,不要忘记也重新启动 FPM:

    sudo service apache2 restart
    sudo service php5.6-fpm restart
    

    (可选)如果需要,您可以禁用php8.2Apache 服务器的默认 PHP 版本并将php5.6-fpm其替换为:

    sudo a2dismod php8.2
    sudo a2dismod mpm_prefork
    sudo a2enmod mpm_event
    sudo a2enconf php5.6-fpm
    
    sudo service apache2 restart
    
    • 0

相关问题

  • 如何使用 fastcgi 和简单的测试脚本设置 apache?

  • 新贵监督的 Apache 初始化脚本?

  • http://localhost/ 不工作

  • 访问启用的虚拟主机时出现 403 禁止错误

  • 如何设置一台机器来将我的网站托管到世界各地 - 使用我自己的网址?

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve