Symfony:属性不存在 - 500内部服务器错误 - ReflectionException

时间:2014-10-27 18:34:32

标签: symfony doctrine-orm

我从实体中删除了$hearAboutIndustry,现在只在生产服务器中获取错误,而不是在本地和登台服务器上!知道为什么或解决方案吗?

Property Tete\AdminBundle\Entity\Customer::$hearAboutIndustry does not exist
500 Internal Server Error - ReflectionException

config_prod.yml

doctrine:
    orm:
        metadata_cache_driver: apc
        result_cache_driver: apc
        query_cache_driver: apc

到目前为止我要做的是解决它:

  • 从实体中移除了getter和setter。
  • 删除整个缓存并记录文件夹并重新创建,返回,inc 777。
  • 以防运行cache:clear --env=prod
  • 在项目的所有目录/文件中搜索hearAboutIndustry。根本没有参考。
  • 运行doctrine:schema:update。数据库已更新。
  • 运行doctrine:generate:entities。实体已更新。
  • app / console doctrine:cache:clear-metadata
  • app / console doctrine:cache:clear-query
  • app / console doctrine:cache:clear-result

5 个答案:

答案 0 :(得分:6)

正如亚当在评论中提到的那样,如果所有上述解决方案都已经尝试过并且没有成功,我们最好重新启动apache。解决方案是:

sudo apachectl graceful

答案 1 :(得分:4)

  • php app / console doctrine:cache:clear-query --env = prod

清除所有查询缓存条目

  • php app / console doctrine:cache:clear-result --env = prod

清除所有结果缓存条目

  • php app / console doctrine:cache:clear-metadata --env = prod

清除所有元数据缓存条目

  • php app / console cache:clear --env = prod

使用debug false

清除prod环境的缓存

别忘了把--env = prod放到你的命令

答案 2 :(得分:0)

“旧但仍然发生” 如果上述解决方案都没有奏效 尝试手动删除实体缓存文件: (例如,实体客户缓存文件路径应该是这个)

projectdirectory \ projectname \ var \ cache {dev或prod} \ jms_serializer \ Tete-AdminBundle-Entity-Customer.cache.php

答案 3 :(得分:0)

我有类似的问题,我只是使用了doctrine:mapping:import就是这样。

干杯

答案 4 :(得分:0)

我们遇到了同样的问题,在我们的案例中(Nginx),Nginx的重启并没有帮助。

但重启memcache是​​正确的解决方案:

sudo service memcached restart