понедельник, 21 ноября 2011 г.

phpMyAdmin и Call to undefined function PMA_sanitize


Вылезла в логах веб-сервера вот такая замечательная ошибка. Буквально на ровном месте, ну почти :)
Fatal error: Call to undefined function PMA_sanitize() in /var/www/html/phpMyAdmin-3.X.X-all-languages/libraries/Message.class.php on line 601

Один из быстрых вариантов решения - поскольку я добавил функцию phpversion в список запрещенных функций - убрать из disable_functions.

Проверка, что функция действительно используется:

[user@host phpMyAdmin]$ grep -R phpversion *

libraries/export/latex.php:           .  '% ' . __('PHP Version') . ': ' . phpversion() . $crlf;
libraries/export/xml.php:           .  '- ' . __('PHP Version') . ': ' . phpversion() . $crlf
****


Проверка, что функция в списке запрещенных:
[user@host ~]$ grep disable_func /etc/php.ini
disable_functions = *** phpversion ***


Убираем из списка, рестартуем apache или php-fpm. смотря что у вас используется.
[user@host ~]$ sudo service httpd restart
или
[user@host ~]$ sudo service php-fpm restart

1 комментарий:

  1. nano /usr/share/phpmyadmin/libraries/Message.class.php
    # in function decodeBB($message), replace:
    return PMA_sanitize($message, false, true);
    # with
    return PMA_Message::sanitize($message);
    # then
    service php5-fpm restart && service apache2 restart

    ОтветитьУдалить