Я использую стек 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.