Я пытаюсь переместить symfony на общий хост.
Я перемещал структуру symfony в /, и моя веб-папка была / public_html.
Предупреждение: require (/ home / user / app / cache / prod / doctrine / orm / Proxies / __ CG__UserBundleEntityUser.php): не удалось открыть поток: нет такого файла или каталога в / home / user / vendor / doctrine / common / lib / Doctrine / Common / Proxy / AbstractProxyFactory.php в строке 209
Предупреждение: require (/ home / user / app / cache / prod / doctrine / orm / Proxies / __ CG__UserBundleEntityUser.php): не удалось открыть поток: нет такого файла или каталога в / home / user / vendor / doctrine / common / lib / Doctrine / Common / Proxy / AbstractProxyFactory.php в строке 209
Неустранимая ошибка: require (): Не удалось открыть окно «/home/user/app/cache/prod/doctrine/orm/Proxies/__CG__UserBundleEntityUser.php» (include_path = '.: / Opt / php55 / lib / php') в / home / user / vendor / doctrine / common / lib / Doctrine / Common / Proxy / AbstractProxyFactory.php в строке 209
Эта ошибка возникает только в среде prod
. Исключение не выбрасывается в среду dev
.
Я попробовал следующее:
rm -rf /app/cache + chmod 777 app/console cache:warmup
Я использую Symfony 2.8.3. Следующие каталоги присутствуют локально и на сервере:
LOCAL CACHE: – / аннотации, / twig, / vich_uploader + / doctrine, / translations
SERVER CACHE: – / аннотации, / twig, / vich_uploader
Если я загружу свой локальный кеш на сервер, исключение исчезнет.
Вы не создавали прокси-классы, прежде чем пытались получить доступ к вашему приложению. Обычно это делается путем:
app/console cache:warmup --env=prod
Автоматическая генерация прокси-классов по умолчанию отключена в среде prod
. Вы можете включить автоматическую генерацию прокси-классов, похожих на среду dev
, добавив это в свою конфигурацию:
приложение / Config / config_prod.yml
doctrine: orm: auto_generate_proxy_classes: true # <- change to true proxy_dir: '%kernel.cache_dir%/doctrine/orm/Proxies' proxy_namespace: Proxies