在共享主机上部署Symfony2应用程序,无需运行任何命令


Deploy Symfony2 app in shared hosting without run any command

我试图在共享主机上部署Symfony2应用程序每个人都知道没有人可以在这种类型的主机上运行任何命令所以我这样做是为了完成任务在阅读Symfony.com网站的文档后:

所有这些都是在我的开发服务器上完成的:

  • 执行php composer.phar install --no-dev --optimize-autoloader
  • 命令
  • 执行php app/console assetic:dump --env=prod --no-debug
  • 命令

完成后,我将整个文件夹复制到我的共享主机,但现在我得到这个错误:

致命错误:未捕获异常'UnexpectedValueException' with消息流或文件"/var/www/html/tanane/app/../var/logs/prod.log"无法打开:打开流失败:没有这样的文件或目录/home/tanane72/public_html/tanane/var/缓存/刺激/classes.php: 5014堆栈跟踪:#0/home/tanane72/public_html tanane/var/缓存/刺激/classes.php (4958):独白'处理器' StreamHandler ->写(数组)# 1/home/tanane72/public_html tanane/var/缓存/刺激/classes.php (4883):独白'处理器' AbstractProcessingHandler ->处理(数组)# 2/home/tanane72/public_html tanane/var/缓存/刺激/classes.php (5083):独白'处理器' AbstractHandler -> handleBatch(数组)# 3/home/tanane72/public_html tanane/var/缓存/刺激/classes.php (5388):独白'处理器' FingersCrossedHandler ->处理(数组)# 4/home/tanane72/public_html tanane/var/缓存/刺激/classes.php (5488):独白'Logger->addRecord(500, '未捕获的PHP Ex…’,Array) #5/home/tanane72/public_html tanane/供应商/symfony/symfony/src/symfony/组件/HttpKernel/EventListener/ExceptionListene在/home/tanane72/public_html/tanane/var/cache/prod/classes.php上第5014行

文件prod.log存在于共享主机中,但Symfony正在寻找我的开发服务器,因为这行说/var/www/html/tanane/app/../var/logs/prod.log,在哪里我可以改变这种行为?如何将此路由更改为共享主机上的当前路由?

您需要将所有文件复制到共享主机,除了app/cacheapp/logs的dirs。然后在app/config/parameters.yml中更改数据库连接到新的数据库。然后将app/cacheapp/logs的权限设置为777

注:不要忘记检查主机上的PHP版本,最好使用5.45.5