安装APC和memcached后,phpMyAdmin显示空白页面

我正在使用PHP 5.3在CentOS 5.6上运行一个LAMP栈。 我已经安装了phpMyAdmin,它的工作。 我能够login并做任何事情。 然后,我安装了memcached及其PHP扩展以及APC和它的PHP扩展。 我已经重新启动httpdphpinfo()说, memcache和APC安装和configuration。

那么为什么phpMyAdmin现在在安装memcache和APC之后显示一个空白页面?

在您的php.ini文件中, 告诉APC不要cachingphpMyAdmin目录中的添加行:

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

根据官方PHP网站上的这个bug报告 ian dot matthews at imsoft dot co dot uk的用户ian dot matthews at imsoft dot co dot uk认为这是一个APC bug:

这是因为APC不能正确处理include / requirepath。 例如,一个典型的例子包括:

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

APC工作不正常,在我的情况下,认为“。 作为apache目录而不是当前的目录。 虽然这似乎是一个APC问题,phpmyadmin可以通过以下方式提供帮助:(1)在需求更好的时候不会无故地使用require_once;(2)尽可能使用完整path,即:

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

但这基本上意味着你应该调整phpMyAdmin的部分来弥补APC问题。 damian dot pastorini at gmail dot comdamian dot pastorini at gmail dot combuild议的一些更实用的解决scheme是damian dot pastorini at gmail dot com下行添加到php.ini

 apc.cache_by_default = 0 

或者像这样通过Apacheconfiguration禁用phpMyAdmin的APC:

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

我build议path/usr/share/phpmyadmin因为虽然你没有提供关于phpMyAdmin的系统安装的详细信息,但是这是在通过yum进行RPM安装时安装的典型位置,甚至是通过apt-get / aptitude在Ubuntu中。