@the_end_oo

How to deploy Symfony 2 project on shared hosting ?

Добрый вечер.
У меня есть рабочий проект написанный на Symfony2. Хотелось бы залить его на какойто бесплатный хостинг, посмотреть как оно будет.
Но в этом деле я новичок, и что то совсем не выходит.
Постоянно кидает какието ошибки.

Вообщем, папки : app, bin, src, vendor,component я залил в корень, а все что было в папке web положил в public_html.
Когда захожу на сайт получаю кучу ошибок
Warning: is_dir(): open_basedir restriction in effect. File(/var/www/hw_5/Symfony/app/cache/prod/sessions) is not within the allowed path(s): (/home/u397346631:/tmp:/var/tmp:/opt/php-5.5/pear) in /home/u397346631/app/cache/prod/classes.php on line 317

Warning: mkdir(): open_basedir restriction in effect. File(/var/www) is not within the allowed path(s): (/home/u397346631:/tmp:/var/tmp:/opt/php-5.5/pear) in /home/u397346631/app/cache/prod/classes.php on line 318

Warning: ini_set(): open_basedir restriction in effect. File(/var/www/hw_5/Symfony/app/cache/prod/sessions) is not within the allowed path(s): (/home/u397346631:/tmp:/var/tmp:/opt/php-5.5/pear) in /home/u397346631/app/cache/prod/classes.php on line 320

Warning: is_file(): open_basedir restriction in effect. File(/var/www/hw_5/Symfony/app/cache/prod/appProdUrlMatcher.php) is not within the allowed path(s): (/home/u397346631:/tmp:/var/tmp:/opt/php-5.5/pear) in /home/u397346631/app/bootstrap.php.cache on line 2796

Warning: is_dir(): open_basedir restriction in effect. File(/var/www/hw_5/Symfony/app/cache/prod/annotations) is not within the allowed path(s): (/home/u397346631:/tmp:/var/tmp:/opt/php-5.5/pear) in /home/u397346631/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php on line 67

Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/hw_5/Symfony/app/logs/prod.log" could not be opened: failed to open stream: Operation not permitted' in /home/u397346631/app/cache/prod/classes.php:4939 Stack trace: #0 /home/u397346631/app/cache/prod/classes.php(4879): Monolog\Handler\StreamHandler->write(Array) #1 /home/u397346631/app/cache/prod/classes.php(4804): Monolog\Handler\AbstractProcessingHandler->handle(Array) #2 /home/u397346631/app/cache/prod/classes.php(5014): Monolog\Handler\AbstractHandler->handleBatch(Array) #3 /home/u397346631/app/cache/prod/classes.php(5256): Monolog\Handler\FingersCrossedHandler->handle(Array) #4 /home/u397346631/app/cache/prod/classes.php(5363): Monolog\Logger->addRecord(500, 'Uncaught PHP Ex...', Array) #5 /home/u397346631/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php(104): Monolog\Logger->critical('Uncaught PHP Ex...', Array) #6 /home/u397346631/vendor/symfony/symfony/src/Symfony/Compon in /home/u397346631/app/cache/prod/classes.php on line 4939


И знаете что совсем не понятно откудова оно взяло
/var/www/hw_5/Symfony
, если на сервере такого и в помине нету.
Когда прописываю в адресной строке app_dev.php, то получаю такую ошибку
ContextErrorException: Warning: is_file(): open_basedir restriction in effect. File(/var/www/hw_5/Symfony/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventSubscriberInterface.php) is not within the allowed path(s): (/home/u397346631:/tmp:/var/tmp:/opt/php-5.5/pear) in /home/u397346631/vendor/symfony/symfony/src/Symfony/Component/ClassLoader/ClassCollectionLoader.php line 80


и тоже, откудова взялось ?
/var/www/hw_5/Symfony

Перед тем как заливать cache был почистен.

Наверное это у меня руки кривые. Раз оно не подымается.

Если не сложно, напишете пошаговое руководство, как залить Symfony 2 проект на shared hosting.

И еще как настраивать сервер, если там есть ssh консоль с наличием команд :
clear exit arch bzip2 cal cksum cmp cp crontab basename cd chmod ls date df du dos2unix unix2dos file getfacl gzip head hostid tail mkdir mv nslookup sdiff tar uptime wget whois.
  • Вопрос задан
  • 3620 просмотров
Пригласить эксперта
Ответы на вопрос 1
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Если не сложно, напишете пошаговое руководство, как залить Symfony 2 проект на shared hosting.

Кратко написали тут.

В идеале, вам нужно залить приложение, залить с ним composer, зайти через ssh и выполнить сборку лоадера композером для продакшен-среды.
Хотя, если вы занимаетесь фреймворками, то лучше возьмите VPS хотя бы чтобы не ограничивать себя теми ограничениями, которые есть на shared-хостингах. На некоторых вообще могут быть настройки, которые будут мешать нормальной работе фреймвора.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы