簡體   English   中英

共享主機中的symfony項目出現一些錯誤

[英]I have some error on symfony project in shared host

我是Symfony的初學者。 我使用Symfony構建了一個非常簡單的項目,該項目可以在localhost正常工作。 我在共享主機的根目錄中上載了項目文件夾預期為“ web”的所有內容,並將“ web”文件夾上載至“ public_html”文件夾。 將MySQL正確導入到我在主機中創建的數據庫中,並更改“ parameters.yml”並更改數據庫連接詳細信息。 將“ / var / logs /”和“ / var / cache”的chmod更改為777。但是在訪問網站時出現內部錯誤。

錯誤詳情:

[24-Apr-2016 05:02:09 UTC] PHP Fatal error:  Uncaught exception 'RuntimeException' with message 'Session Storage was not able to create directory "D:\eventcalendar\app/../var/sessions/prod"' in /home/emusummit/var/cache/prod/classes.php:292
Stack trace:

#0 /home/emusummit/var/cache/prod/appProdProjectContainer.php(1898): Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler->__construct('D:\\eventcalenda...')
#1 /home/emusummit/var/bootstrap.php.cache(2107): appProdProjectContainer->getSession_HandlerService()
#2 /home/emusummit/var/cache/prod/appProdProjectContainer.php(1937): Symfony\Component\DependencyInjection\Container->get('session.handler')
#3 /home/emusummit/var/bootstrap.php.cache(2107): appProdProjectContainer->getSession_Storage_NativeService()
#4 /home/emusummit/var/cache/prod/appProdProjectContainer.php(1885): Symfony\Component\DependencyInjection\Container->get('session.storage...')
#5 /home/emusummit/var/bootstrap.php.cache(2107): appProdProjectContainer->getSessionService()
#6 /home/emusummit/var/cache/prod/c in /home/emusummit/vendor/twig/twig/lib/Twig/Loader/Filesystem.php on line 94

問題是什么? 請幫我。 謝謝

您可能沒有清除緩存。

嘗試通過運行以下命令清除緩存:

php bin/console cache:clear --env=prod

或者,如果您使用開發環境(不適用於生產服務器),則應使用:

php bin/console cache:clear

如果您無權使用Shell,則可以通過從var/cache刪除整個環境名稱的文件夾來手動清除var/cache 對於prod環境,應刪除var/cache/prod文件夾。

您需要通過act包向會話目錄中的www-data的Web服務器用戶添加rwx權限(如果沒有通過以下方式安裝):

$ sudo apt-get install acl

如果您有,只需鍵入

$ sudo setfacl -R -m u:www-data:rX project-symfony/var/sessions
$ sudo setfacl -dR -m u:www-data:rX project-symfony/var/sessions

第二行是給權限RWX的文件根據該目錄的最佳做法是給RX權限本身RWX到項目var/cache var/logsvar/sessions ,RWX其衍生物(分別正如我上面所做的那樣)。

之后,您需要清除緩存(如果處於開發模式,請刪除--env=prod ),您就可以開始了!

php bin/console cache:clear --env=prod

暫無
暫無

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

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