Пользователи Hestia CP, устанавливая phpMyAdmin на сервер Linux с Ubuntu, могут столкнуться с предупреждением о недоступности директории для временных файлов ($cfg['TempDir']). Это предупреждение свидетельствует о том, что phpMyAdmin не может кэшировать шаблоны в указанной директории, что приводит к замедлению его работы. В данной статье рассмотрим эту проблему и предоставим подробное пошаговое решение.

Проблема

При использовании phpMyAdmin возникает следующее предупреждение: "[Warning] $cfg['TempDir'] (/usr/share/phpmyadmin/tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow".

Это означает, что phpMyAdmin не имеет доступа к директории /usr/share/phpmyadmin/tmp/ для кэширования шаблонов. Без возможности кэшировать шаблоны, phpMyAdmin вынужден каждый раз обрабатывать их заново, что существенно замедляет его работу.

Почему возникает проблема?

Проблема может быть вызвана несколькими факторами:

1. Ограниченные права доступа: Веб-серверу, на котором работает phpMyAdmin, может быть запрещен доступ к директории /usr/share/phpmyadmin/tmp/ из соображений безопасности.

2. Конфликт с другими настройками: Существующие настройки в файле конфигурации phpMyAdmin могут перезаписывать или конфликтовать с директорией для временных файлов.

3. Проблемы с установкой: При установке phpMyAdmin настройки директории для временных файлов могли быть установлены некорректно.

Независимо от причины, важно решить эту проблему для обеспечения нормальной производительности phpMyAdmin.

Шаги по решению

Шаг 1: Проверка прав доступа к директории

Используйте команду 

ls -ld /usr/share/phpmyadmin/tmp/

для проверки прав доступа к директории `/usr/share/phpmyadmin/tmp/`. Эта команда покажет информацию о директории, включая права доступа, владельца и группу.

Шаг 2: Поиск файла `config.inc.php`

Если не уверены в расположении файла `config.inc.php`, воспользуйтесь командой `find / -name config.inc.php` для его поиска. Эта команда начнет поиск файла в корневом каталоге `/` и просмотрит все подкаталоги, выводя полный путь к найденному файлу.

Шаг 3: Чтение содержимого файла `config.inc.php`

Прочитайте содержимое файла `config.inc.php` с помощью команды 

cat /full/path/to/config.inc.php

, заменяя `/full/path/to/config.inc.php` на реальный путь, полученный на предыдущем шаге.

Шаг 4: Решение проблемы

Добавьте строку `$cfg['TempDir'] = '/tmp';` в файл `config.inc.php` phpMyAdmin. Это укажет phpMyAdmin использовать директорию `/tmp` для временных файлов вместо недоступной `/usr/share/phpmyadmin/tmp/`. Директория `/tmp` является стандартной временной директорией в Linux и обычно доступна для записи.

Шаг 5: Редактирование файла `config.inc.php`

Откройте файл `config.inc.php` с помощью текстового редактора nano, используя команду:


sudo nano /etc/phpmyadmin/config.inc.php

Эта команда откроет файл с правами суперпользователя, что необходимо для его редактирования.

Шаг 6: Добавление строки

В файле найдите раздел, определяющий директории для сохранения и загрузки файлов с сервера. Он должен выглядеть примерно так:

/* Directories for saving/loading files from server */
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';

 

Добавьте строку 

$cfg['TempDir'] = '/tmp';

после 

$cfg['SaveDir'] = '';

, чтобы файл выглядел следующим образом:

/* Directories for saving/loading files from server */
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['TempDir'] = '/tmp';

Шаг 7: Сохранение и закрытие

После внесения изменений, сохраните файл, нажав `Ctrl+O`, затем закройте редактор с помощью `Ctrl+X`.

Шаг 8: Перезапуск веб-серверов

Для применения внесенных изменений необходимо перезапустить веб-серверы Apache и Nginx. Сделайте это с помощью следующих команд:

sudo service apache2 restart
sudo service nginx restart

Шаг 9: Проверка результата

После перезапуска веб-серверов обновите страницу phpMyAdmin в браузере. Предупреждение о недоступности директории для временных файлов должно исчезнуть, что свидетельствует об успешном решении проблемы.

Заключение

Следуя этим пошаговым инструкциям, вы сможете решить проблему с недоступностью директории для временных файлов в phpMyAdmin. Важно помнить, что для редактирования файла конфигурации необходимо иметь соответствующие права доступа.