Назад | Перейти на главную страницу

phpMyAdmin отображает пустую страницу после установки APC и memcached

Я использую стек LAMP на CentOS 5.6 с PHP 5.3. Я установил phpMyAdmin, и он сработал. Я мог войти в систему и сделать что угодно. Затем я установил memcached и его расширение PHP, а также APC и расширение PHP. Я перезапустил httpd и phpinfo() Говорит, что memcache и APC установлены и настроены.

Итак, почему phpMyAdmin теперь отображает пустую страницу после установки memcache а БТР?

В вашем файле php.ini сказать APC не кэшировать каталог phpMyAdmin по строкам добавления:

apc.filters = "-/usr/share/phpmyadmin/.*"

В соответствии с этот отчет об ошибке на официальном сайте PHP пользователь ian dot matthews at imsoft dot co dot uk считает, что это ошибка APC:

Это потому, что APC неправильно обрабатывает путь включения / требования. Например, пример типичного включения:

require_once './libraries/common.inc.php';

APC не работает должным образом, и в моем случае это касается "." в качестве каталога apache вместо текущего. Хотя это, похоже, проблема APC, phpmyadmin может помочь, (1) не используя require_once безвозмездно, когда require было бы лучше, и (2) используя полный путь, когда это возможно, т.е. делая что-то вроде:

require dirname(__FILE__) . '/subdir/file_to_include.php' ;

Но в основном это означает, что вам следует настроить части phpMyAdmin, чтобы компенсировать проблемы с APC. Еще несколько практических решений, предложенных damian dot pastorini at gmail dot com состоит в том, чтобы добавить следующую строку в php.ini:

apc.cache_by_default = 0 

Или отключите APC для phpMyAdmin через конфигурацию Apache следующим образом:

<Directory "/usr/share/phpmyadmin">
    php_admin_flag apc.enabled Off
</Directory>

Я предлагаю путь /usr/share/phpmyadmin поскольку, хотя вы не предоставили подробную информацию об установке phpMyAdmin в вашей системе, это типичное место, в которое он устанавливается при установке RPM через yum или даже установка DEB через apt-get/aptitude в Ubuntu.