Проблемы с установкой phpmyadmin на PHP7 Apache/2.4.7 (Ubuntu)

Я установил PHP7 сегодня с

sudo add-apt-repository ppa:ondrej/php-7.0
sudo apt-get install php7.0-cli php7.0-common libapache2-mod-php7.0 php7.0 php7.0-mysql php7.0-fpm

после этого я получил 403 запрещенную ошибку, когда пытался получить доступ к phpmyadmin. затем я попытался переустановить phpmyadmin с помощью

apt-get install phpmyadmin

но он все еще ищет зависимости php5, которых больше нет:

Описание изображения

что я могу сделать, чтобы решить эту проблему?


person Mister M    schedule 03.12.2015    source источник
comment
Попробуйте установить последнюю версию вручную, загрузив phpmydamin с их веб-сайта. Справедливости ради, phpmyadmins apt-repo имеет зависимости от других пакетов в официальном apt-repo. PHP7 не существует в apt-repo. (вы добавили его вручную, о чем репозиторий phpmyadmins понятия не имеет).   -  person Magnus Eriksson    schedule 03.12.2015
comment
Хорошо, я так и сделал, и это сработало, спасибо.   -  person Mister M    schedule 03.12.2015
comment
@Magnus Eriksson, пожалуйста, напишите как ответ, чтобы его было легче найти и, конечно, получить кредит.   -  person Tim van Uum    schedule 15.12.2015


Ответы (6)


Установите его через wget и создайте псевдоним в Apache. Следите за:

Перейдите в каталог /usr/share:

cd /usr/share

Измените на пользователя root:

 sudo su

Загрузите phpMyAdmin:

wget https://files.phpmyadmin.net/phpMyAdmin/4.5.4.1/phpMyAdmin-4.5.4.1-all-languages.zip

Разархивируйте его: (вы можете сначала установить распаковку)

unzip phpMyAdmin-4.5.4.1-all-languages.zip

Переименуйте папку:

mv phpMyAdmin-4.5.4.1-all-languages phpmyadmin

Изменить разрешения:

chmod -R 0755 phpmyadmin

Настройте apache, чтобы он мог его правильно найти:

vim /etc/apache2/sites-available/000-default.conf

В любом месте после "DocumentRoot /var/www/html" вставьте следующую строку:

Alias /phpmyadmin "/usr/share/phpmyadmin/"
<Directory "/usr/share/phpmyadmin/">
     Order allow,deny
     Allow from all
     Require all granted
</Directory>

Перезапустите Апач:

service apache2 restart

И вы готовы идти!

Только что сделал снимок экрана с моей текущей установки, чтобы вы могли убедиться, что она работает. введите здесь описание изображения

person Gilberto Albino    schedule 01.02.2016
comment
Спасибо @Gilberto Albino, отличное объяснение. В итоге я поместил каталог phpmyadmin в /var/www/html и создал виртуальный хост, поскольку у меня есть сайты на виртуальной машине VirtualBox. - person agit; 01.02.2016
comment
Решение также тестировалось в Ubuntu, работающем на виртуальной машине. - person Gilberto Albino; 02.02.2016
comment
Я также выполнил ваши шаги и решил проблему. Но папка «phpmyadmin» находится внутри «/var/www». Я думаю, что это не подходящее место для его хранения, поскольку файлы и папки других проектов будут находиться в корневом каталоге документа (например, /var/www). Поэтому я думаю, что мне не следует путать эти вещи с phpmyAdmin. Должен ли я удалить его, так как установка уже выполнена? Или я должен перенести его в какое-то другое место? Пожалуйста, направьте меня в этом отношении. Спасибо. - person PHPFan; 20.03.2016
comment
Разве это не оставляет zip-файл phpmyadmin в /usr/share? Удалите его с помощью этой команды (сначала перейдите в /usr/share, как описано в сообщении Gilberto, если это необходимо): rm phpMyAdmin-4.5.4.1-all-languages.zip - person Max; 10.03.2017

phpMyAdmin зависит от расширения mbstring.

Для пользователей Debian (проверено в Ubuntu 15.10):

 sudo apt-get install php7.0-mbstring

Для Fedora и CentOS,

sudo yum install php70w-mbstring
person ryanafrish7    schedule 14.06.2016
comment
Пакет php70w-mbstring недоступен. - person Jordan; 19.08.2016
comment
@ Джордан, это опечатка. Используйте 1_. - person m.spyratos; 21.06.2017
comment
Пакет php70-mbstring недоступен. - person DavSev; 26.03.2018

Использование git-клона оригинального репозитория с ежедневным заданием обновления cron, как описано здесь https://laracasts.com/discuss/channels/general-discussion/phpmyadmin-with-php7 работал очень хорошо для меня. Я поместил следующее в свой Vagrantfile (для сервера разработки)

    if [ ! -d /usr/share/phpmyadmin ]; then
        sudo mkdir /usr/share/phpmyadmin
        sudo git clone --depth=1 --branch=STABLE https://github.com/phpmyadmin/phpmyadmin.git /usr/share/phpmyadmin
    fi

затем добавил псевдоним, как указано выше

Alias /phpmyadmin "/usr/share/phpmyadmin/"
<Directory "/usr/share/phpmyadmin/">
     Order allow,deny
     Allow from all
     Require all granted
</Directory>

а также

service apache2 restart

очень просто, всего несколько шагов, всегда в курсе. (Ubuntu хитрый, php7)

person Steve    schedule 16.03.2016
comment
Привет, Стив, я только что выполнил все эти шаги на своем новом vps для вычислений Google, который я только что настроил, и все, что я получаю, — это загрузка кода, когда я посещаю ipaddress/phpmyadmin после настройки моего файла 000-default.conf. Что-нибудь еще я могу сделать? - person Phillip Dews; 03.04.2016
comment
Может PHP не правильно установлен? stackoverflow .com/questions/18422140/ - person Steve; 04.04.2016

Перед установкой PHP 7 вы должны сделать резервную копию вашей базы данных. В процессе установки вы удалите свою старую версию php и спросите, хотите ли вы удалить свою базу данных. Не делайте этого, если вы действительно не хотите избавиться от него.

Загрузите phpmyadmin с https://www.phpmyadmin.net/, распакуйте его и переместите папку на один уровень ниже. корневая папка документа. Затем это сработало для меня, когда я перешел к нему с помощью локального хоста без дополнительной настройки. Мне пришлось стереть свои закладки в phpmyadmin и сделать новые закладки для нового места. Моя старая база данных была в порядке.

Я хотел бы установить phpmyadmin глобально, чтобы его можно было установить, переустановить или обновить с помощью apt-get, но я не знаю, как это сделать.

person JimFuqua    schedule 20.12.2015

Я последовал предложению Магнуса Эрикссона из комментариев

Попробуйте установить последнюю версию вручную, загрузив phpmyadmin с их сайта. Справедливости ради, phpmyadmins apt-repo имеет зависимости от других пакетов в официальном apt-repo. PHP7 не существует в apt-repo. (вы добавили его вручную, о чем репозиторий phpmyadmins понятия не имеет).

person Mister M    schedule 03.12.2015
comment
Как вы установили это глобально? Я могу установить это только с помощью виртуального хоста. Я хотел бы иметь возможность использовать localhost\phpmyadmin вместо \mysite.pc\phpmyadmin - person Relaxing In Cyprus; 29.01.2016

CentOS 7.2, PHP 7, PhpMyadmin 4.6.4

Шаг 1:

$ cd /usr/share
$ wget https://files.phpmyadmin.net/phpMyAdmin/4.6.4/phpMyAdmin-4.6.4-all-languages.zip
$ unzip phpMyAdmin-4.6.4-all-languages.zip
$ mv phpMyAdmin-4.6.4-all-languages phpmyadmin

Шаг 2:

$ cd /etc/httpd/conf.d
$ touch phpmyadmin.conf
$ put on phpmyadmin.conf following content

Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 217.x.x.x
       Require ip ::1
     </RequireAny>
   </IfModule>

   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 217.x.x.x
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpmyadmin/setup/>

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>

   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpmyadmin/libraries/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpmyadmin/setup/lib/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpmyadmin/setup/frames/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

Шаг 3.

systemctl restart httpd

Шаг 4: торт http://www.example.com/phpmyadmin

введите здесь описание изображения

введите здесь описание изображения

person Community    schedule 10.11.2016