【问题标题】:PHP - APC can't redefine class errorPHP - APC 无法重新定义类错误
【发布时间】:2013-10-29 17:59:26
【问题描述】:

之前有人问过这个问题,但没有一个解决方案对我有用。

我正在尝试在我的服务器上安装 PHP - APC,但每当我启用它时,我都会收到 "Can't re-declare class errors"

我尝试将以下设置添加到我的 php.ini,但它们没有起作用,我仍然收到错误消息。

apc.include_once_override = 0
apc.canonicalize = 0
apc.stat = 0

该站点基于 Wordpress,它使用 W3 Total Cache 插件进行缓存。我也尝试将这些设置添加到 W3 Total Cache 插件的 apc.ini 中,但它也失败了。

APC 的版本是 3.1.13。

服务器堆栈是:

Apache/2.2.25 (Unix)
PHP 5.4.21
CentOS release 6.4 (Final)

唯一可行的解​​决方案是禁用 APC,但我需要让它继续运行。

【问题讨论】:

  • 实际错误是什么?它通常会告诉你哪个类。
  • @ceejayoz 它不是一类。我认为只有一个类引起了问题并为它创建了过滤器,但随后其他类开始抛出错误。我认为它在 wp-include 目录中的大部分类。
  • @ceejayoz 这是实际错误致命错误:无法在第 974 行的 /home/xxxxx/public_html/wp-includes/post-template.php 中重新声明类 Walker_Page 并在创建 apc 过滤器一堆其他文件开始抛出相同的错误。
  • 你使用的是什么 CentOS 存储库?
  • @SibinGrasic CentOS-6 - Base、CentOS-6 - Extras 和 CentOS-6 - 更新。 APC 是由我的 VPS 提供商安装的,我已经检查过它在其他网站上运行良好。

标签: php wordpress centos apc


【解决方案1】:

完全卸载php。

添加 RHEL EPEL 和 REMI 存储库

cd /tmp
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm

编辑文件的 [remi] 部分,将启用的选项设置为 1。这将启用 remi 存储库。

之后安装 php 依赖项:

yum install php php-cli php-common php-mysqlnd php-pecl-apc php-mcrypt php-imap php-mbstring php-gd php-xmlrpc

【讨论】:

    猜你喜欢
    • 2011-06-02
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2014-11-07
    相关资源
    最近更新 更多