我使用的是 ubuntu16.04.1、Apache2、MySQL 和 PHP 7.0.8.1 的最小服务器环境。我通过已经installem AMP: apt-get install lamp-server^。
我还通过以下方式手动安装了 PHPmyadmin:
cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.zip
find ./ -type f -name '*phpMyAdmin*.zip' -exec unzip {} \; # We can also do unzip \*phpMyAdmin*.zip ...
find ./ -type d -name 'phpMyAdmin-*' -exec mv {} phpmyadmin \;
Run Code Online (Sandbox Code Playgroud)
PHPmyadmin 是自举的,但要在功能上完全使用它,AFAIK 我还需要执行以下操作:
phpenmod mcrypt
phpenmod mbstring
Run Code Online (Sandbox Code Playgroud)
然而,这些分别返回错误:
Module mcrypt ini file doesn't exist under /etc/php/7.0/mods-available
Module mbstring ini file doesn't exist under /etc/php/7.0/mods-available
Run Code Online (Sandbox Code Playgroud)
我以前从未有过这些错误。这些模块对于当前版本中的 PHPmyadmin 或未通过 安装时是多余的apt-get install吗?
Geo*_*sen 12
首先安装它们:
sudo apt install php7.0-mcrypt && sudo apt install php7.0-mbstring
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令启用它们:
sudo a2enmod mcrypt
sudo a2enmod mbstring
Run Code Online (Sandbox Code Playgroud)
更新
基于广泛的研究,我相信存在一个错误,该错误会阻止您的php cli与php mcrypt一起正常工作。
来源:
无法在 Ubuntu 13.10(Nginx、PHP-FPM)中使用 PHP 扩展 Mcrypt
php 在 ubuntu 13.10 上运行不佳,并且 phpmyadmin 中缺少 mcrypt
到确认mcrypt被启用Apache中请按照下列步骤操作:
创建一个php名为info.php将以下代码放入其中的文件:
<?php echo phpinfo(); ?>
Run Code Online (Sandbox Code Playgroud)将文件放入/var/www/html或您的服务器根目录中
从浏览器访问它 say IP/info.phporlocalhost/info.php
看看out,你会发现mcrypt and mbstring是启用的
如您所见,它在 apache 中启用,但无法从 php CLI 访问,因此出现错误消息。
为了确认它的工作[因为我也有这个问题]我做了以下事情:
mcrypt未在apache 上启用它会抛出错误并拒绝继续。如果您的apache 信息页面将这些模块显示为已启用,则基于您的简单放置。看到的错误是php CLI与mcrypt存在问题的结果,该问题已被指出是一个错误。在早期版本的php 中看到,但现在出现在php 7 中
小智 5
我遇到了上述解决方案的问题,但发现了这一点:
https://www.techrepublic.com/article/how-to-install-mcrypt-for-php-7-2/
基本上,自己构建它:
sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev
Run Code Online (Sandbox Code Playgroud)
安装依赖项后,您可以使用以下命令安装 mcrypt:
sudo pecl install mcrypt-1.0.1
Run Code Online (Sandbox Code Playgroud)
从那里我需要添加:
/etc/php/7.2/mods-available/mcrypt.ini
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
; configuration for php mcrypt module
; priority=20
extension=mcrypt.so
Run Code Online (Sandbox Code Playgroud)
然后
sudo phpenmod mcrypt
sudo systemctl restart apache2.service
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40818 次 |
| 最近记录: |