簡體   English   中英

Symfony:屬性不存在 - 500內部服務器錯誤 - ReflectionException

[英]Symfony: Property does not exist - 500 Internal Server Error - ReflectionException

我從實體中刪除了$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。
  • 刪除整個緩存並記錄文件夾並重新創建,包含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

正如Adam在評論中提到的那樣,如果上述所有解決方案都已經嘗試過並且沒有成功,我們最好重新啟動apache。 解決方案是:

sudo apachectl graceful

  • 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放到你的命令中

“舊但仍然發生”如果上面提到的解決方案都沒有工作,請嘗試手動刪除實體緩存文件:(例如,實體客戶緩存文件路徑應該是這個)

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

我有類似的問題,我只是使用了doctrine:mapping:import就是這樣。

干杯

我們遇到了同樣的問題,在我們的案例中(Nginx),Nginx的重啟並沒有幫助。

但重啟memcache是​​正確的解決方案:

sudo service memcached restart

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM