Я использую минимальную серверную среду 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 \;
PHPmyadmin загружается, но использовать его полностью функционально, AFAIK я aslo должен сделать:
phpenmod mcrypt
phpenmod mbstring
Все же они соответственно возвращают ошибки:
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
У меня никогда не было этих ошибок прежде. Эти модули, избыточные для PHPmyadmin в текущих выпусках или при отсутствии установки через apt-get install
?
Установите их сначала:
sudo apt install php7.0-mcrypt && sudo apt install php7.0-mbstring
Затем включите им с:
sudo a2enmod mcrypt
sudo a2enmod mbstring
Обновление
На основе обширного исследования я полагаю, что ошибка существует, который предотвращает Ваш php cli работающий хорошо с php mcrypt.
Источник:
Не может использовать расширение PHP Mcrypt в Ubuntu 13.10 (Nginx, PHP-FPM)
php не работает хорошо над человечностью 13.10, и mcrypt отсутствует в phpmyadmin
Подтвердить это mcrypt
включен в апаче, выполняют эти шаги:
Создайте a php
файл называют info.php
поместите этот код в него:
<?php echo phpinfo(); ?>
Вставьте файл /var/www/html
или Ваш корень сервера
Получите доступ это от brower в говорит IP/info.php
или localhost/info.php
Посмотрите на, и Вы найдете это mcrypt and mbstring
включены
Как Вы видите, его включенный в апаче, но недоступный от php CLI следовательно сообщения об ошибках.
Для подтверждения его работы [поскольку у меня есть эта проблема также], я сделал следующее:
mcrypt
не был включен на апаче.Простой помещенный на основе Вашего, если Ваши апачские информационные отображения страницы эти модули, как включено затем это. Замеченная ошибка является результатом php CLI, имеющего проблемы с mcrypt, который был отмечен, чтобы быть ошибкой. Замеченный в более ранних версиях php, но теперь существующий в php 7
Если их и установленный и ошибка сохраняются, Попытка сделать символьную ссылку на ini файлы в mods-available
Вот то, как сделать это:
sudo ln -s /etc/php7/conf.d/mcrypt.ini /etc/php/7.0/mods-available/mcrypt.ini
sudo ln -s /etc/php7/conf.d/mbstring.ini /etc/php/7.0/mods-available/mbstring.ini
Я имел проблемы с вышеупомянутыми решениями, но нашел это:
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
После того как зависимости были установлены, можно установить mcrypt с командой:
sudo pecl install mcrypt-1.0.1
Оттуда я должен был добавить:
/etc/php/7.2/mods-available/mcrypt.ini
Который был похож на это:
; configuration for php mcrypt module
; priority=20
extension=mcrypt.so
Затем
sudo phpenmod mcrypt
sudo systemctl restart apache2.service