2

所以,我有一个类别实体设置了一个parent_id存在自引用。但是由于某种原因,当我在表单中保存条目时,我收到了这个错误。

Fatal error: Cannot inherit previously-inherited or override constant MARKER from interface Doctrine\Common\Persistence\Proxy in /var/www/html/project/vendor/doctrine/orm/lib/Doctrine/ORM/Proxy/Proxy.php on line 30

无法弄清楚它可能是什么。我根据 Doctrine 文档建立了关系。

/**
 * Set parent
 *
 * @param string $parent
 * @return Category
 */
public function setParent($parent)
{
    $this->parent = $parent;

    return $this;
}

/**
 * Get parent
 *
 * @return string 
 */
public function getParent()
{
    return $this->parent;
}

任何帮助将非常感激。

4

5 回答 5

6

在做了一个不应该以任何方式影响 Doctrine 的更改之后,我今天遇到了完全相同的问题(我更改了Twig 模板)。一段时间后,我意识到,由于这是一个奇怪的时刻出现的奇怪编译错误,可能restarting php-fpm会成功。它确实做到了。

如果您在mod_php.

于 2013-07-15T11:27:50.950 回答
4

重新启动服务器为我解决了这个问题。

(使用 PHP 5.4.15、APC 3.1.13、Apache2.4.4、Doctrine2.2)

于 2013-11-18T16:52:37.797 回答
1

我在 Centos6-64 上的 php-fpm 5.4.19、nginx 1.4 和 APC 3.1.15(?)也遇到过这个问题。正如 Mark 还提到的,我也使用了 Remi 存储库。好像 3.1.15 还没有正式发布。pecl 页面上甚至没有它的标签!看起来 Remi 正在尝试修复某些东西以使其正常工作并将其命名为 3.1.15,但无法弄清楚他正在尝试修复的确切内容。

无论如何,我 yum 删除了该软件包并使用 pecl 命令(现在为 @ 3.1.13)安装了当前版本,这解决了我的问题。

于 2013-08-30T20:10:12.223 回答
1

显然这是一个错误Doctrine-bundle。将其更新到版本 1.2.*(并随后更新依赖包)修复了该问题。

于 2013-04-20T12:28:50.080 回答
0

请理解 APC 已死、无人维护,没有 PHP 5.4(或更高版本)的稳定版本。

我建议你切换到:

  • opcache (php-pecl-zenopcache) 用于操作码缓存
  • APCu (php-pecl-apcu) 用于用户数据缓存(提供与旧 APC 相同的 API,没有操作码缓存)
于 2015-11-04T11:36:25.813 回答