в общем я на одну из vps'ок установил себе ubuntu 16 (выше нету) чтобы посмотреть что там происходит.
короче...
после установки apache2 ставлю libapache2-mod-php7.0 (нет тут 7.2)
оно действительно ставит php без mysql
и вот это не правильно:
extension=mysqli
надо:
extension=mysqli.so
но все равно после service apache2 restart в логах (/var/log/apache2/error.log) ошибка:
20151012 - это в моем случае, на других версиях убунты/php другая дата будет.
смотрю в папке /usr/lib/php/20151012 действительно нету mysqli.so и mysqlnd.so
устанавливаю apt install php7.0-mysql
появляются эти два недостающих .so
снова пробую в /etc/php/7.0/apache2/php.ini добавить
теперь в логах другая ошибка:
т.е. mysqli.so нашелся, но все равно не запускается из-за нехватки mysqlnd.so
добавляю:
extension=mysqlnd.so
но обязательно выше предыдущего mysqli.so
сначала должен загрузиться mysqlnd, а потом уже mysqli
после этого service apache2 restart проходит без ошибок и в phpinfo() появляется mysqli раздел.
ну и phpmyadmin логин форма наконец тоже появляется. т.е. все работает.
---
то есть, студент, сноси все что ранее устанавливали про php7.0, раз уж будет 7.2 использоваться.
apt remove php7.0-mysql
и ставим именно от 7.2 версии:
apt install php7.2-mysql
проверяем на всякий случай, заходим в /usr/lib/php и там будет какая-то папка с кучей цифр, в ней должны быть .so'шки и смотрим есть ли mysqli.so и mysqlnd.so
если все на месте, то идем в /etc/php/7.0/apache2/php.ini и убираем что ранее там раскомvентировалось про mysqli.
и просто в самый низ добавляем две строки:
именно в такой очередности.
перезапускаем апач - service apache2 restart
смотрим нет ли ошибок в конце лога /var/log/apache2/error.log
и если все ок, то смотрим в наш i.php
должно появиться там такое:
если есть, то phpmyadmin уже просто обязан запуститься:
в наше время это называли смотрю в книгу - вижу фигу.
студент, читаешь вообще что за сообщения оно пишет?
service restart apache2
restart: unrecognized service
т.е. все это время вот это вот называлось "апач перезагружал"?!
ну не правильно же! service apache2 restart надо.
вместо «php7.0-mysqli» выбирается «php7.0-mysql»
т.е. mysqli оно упорно не устанавливает... но может конечно и не нужно, может все давно и так стоит. надо просто ПЕРЕГРУЗИТЬ АПАЧ, а?
тогда какую проблему мы решаем?
на прошлой странице написано - Ошибка Расширение mysqli не найдено
раз стоит и работает, то ошибок нет больше?
как что-то можно советовать, не поняв сути проблемы?
мне допустим не понятно "сохранения страницы на самом сайте" - что это? по фтп сохранение или в админке cms какой-то?
hsts вообще ни при чем, раз как утверждает на самом сайте ссылка становится https://
если это cms правит (она сама или какой-то плагин), то чем вы ожидаете что кто-то поможет, не выкладывая здесь логин/пароль от нее? :)
а если всеж попробовать:
sudo apt-get install php7.0-mysqli
установится что-нибудь вообще?
если да, то опять перегружаем и смотрим заработало ли
перегрузил?
надо логи смотреть. может пишет почему не подгружается mysqli
вполне возможно, что его (mysqli.so) физически нету.
на дебиан к примеру надо установить пакет php7.0-mysqli
ну то есть в /etc/php/7.2/apache2/php.ini раскомментировали?
перегрузили и что? не помогло?
значит phpenmod mysqli не помог.
надо искать php.ini
запускаем: php --ini
что там в ответ пишет?
хотя это конечно ini от cli версии, а у той что в апаче может быть указан свой какой-то php.ini
нет, заходим в папку куда phpmyadmin закинули, создаем там файлик с phpinfo:
echo "<?phpinfo();?>">i.php
потом заходим браузером на этот файл и ищем что оно пишет в:
Configuration File (php.ini) Path
Loaded Configuration File
Scan this dir for additional .ini files
Additional .ini files parsed---------- Добавлено 29.05.2019 в 21:07 ----------
да, оно. точку с запятой удаляем, сохраняем и перегружаем апач.
но всеж стоит уточнить по i.php тот ли php.ini мы правим вообще.
и после удачного включения модуля mysqli он должен появиться там же в phpinfo выдаче
перегружался апач?
все еще "Расширение mysqli не найдено"?
по-идее warning это не ошибка.
но кто знает что там происходит, нет у меня убунты под рукой проверить что оно делает.
php.ini нашелся? раскомментирован там модуль mysqli?
вот... уже близко.
чуть раньше писал список расширений, которые ему нужны.
mysqli значит не добавлен в php
а если теперь запустить sudo phpenmod mysqli ?
хотя по-правде без понятия что оно делает, никогда так не добавлял модули и вообще убунтой не пользовался :)
если не получится, то надо найти php.ini и найти может там закомментирована строка типа extension=mysqli
нужно раскомментировать. и потом перегрузить веб-сервер.
php.ini в любом случае еще понадобится, т.к. нужно будет там указать mysqli.default_socket через который оно будет к mysql подключаться