我在 CentOS 5.6 上运行带有 PHP 5.3 的 LAMP 堆栈。我安装了 phpMyAdmin,它运行正常。我可以登录并执行任何操作。然后我安装了memcached
它的 PHP 扩展以及 APC 及其 PHP 扩展。我重新启动httpd
后,phpinfo()
显示memcache
APC 已安装并配置完毕。
memcache
那么为什么 phpMyAdmin 在安装和 APC后现在显示空白页?
答案1
在你的 php.ini 文件中,告诉 APC 不要缓存 phpMyAdmin 目录类似于添加:
apc.filters = "-/usr/share/phpmyadmin/.*"
答案2
根据此错误报告在 PHP 官方网站上,用户ian dot matthews at imsoft dot co dot uk
认为这是一个 APC 错误:
这是因为 APC 不能正确处理 include/require 路径。例如,一个典型的 include 示例是:
require_once './libraries/common.inc.php';
APC 无法正常工作,在我的例子中,它将“.”视为 apache 目录,而不是当前目录。虽然这似乎是 APC 问题,但 phpmyadmin 可以通过以下方法提供帮助:(1) 当 require 更好时,不要无端使用 require_once;(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
或者通过 Apache 配置禁用 phpMyAdmin 的 APC,如下所示:
<Directory "/usr/share/phpmyadmin">
php_admin_flag apc.enabled Off
</Directory>
我建议该路径,/usr/share/phpmyadmin
因为虽然您没有提供有关系统安装 phpMyAdmin 的详细信息,但这是在 Ubuntu 中通过 RPM 安装yum
甚至通过apt-get
/进行 DEB 安装时安装的典型位置。aptitude