我对Symfony部署有疑问。我已经挣扎了大约2天......
我做错了什么?
php app/console doctrine:schema:update --force <-- to update my database
sudo php app/console assets:install ../public_html --symlink <-- install assets
sudo php app/console assetic:dump --env=prod --no-debug --force <-- dump assets
php -d memory_limit=256M app/console cache:clear --env=prod --no-debug <-- clear cache
之后我运行此命令而不使用--dry-run
当我运行此命令时,项目将部署到正确的位置。到现在为止还挺好。 (之后我可以手动复制public_html文件夹中的web文件夹吗?) 完成后,我使用ssh登录服务器并导航到我的应用程序所在的文件夹。那么我运行这个命令:
minWidth
我还检查了app.php中的链接
当我访问网站时,我看到一个空白页面。有人可以帮帮我吗?
答案 0 :(得分:1)
假设您已正确配置vhost,空白页很可能是内部服务器错误。我建议你检查这个项目的apache2日志和symfony2 log(app / logs)以获取更多细节。
根据您提供的信息,您似乎有权限问题。您正在以sudo用户身份运行控制台命令,因此除非您自动为新创建的文件设置权限,否则所有生成的文件都将需要root访问权限。
尝试设置:sudo chown -R www-data:www-data project/
如果您为此环境配置了正确的数据库,请检查parameters.yml文件。
这是一个简单的shell部署脚本,我偶尔会在PHPCI(持续集成)不可用时使用它。它不会执行数据库更新,只需从git存储库复制项目并运行基本命令。我希望你会发现它很有用。
rm -rf /var/www/project.com
git clone --depth 1 git@bitbucket.org:sample/repo.git /var/www/project.com
cd /var/www/project.com
php /usr/local/bin/composer.phar install --optimize-autoloader --no-interaction
cp /home/user/deployment/parameters.yml /var/www/project.com/app/config/parameters.yml
cp -r /home/user/deployment/media /var/www/project.com/web/media
php /var/www/project.com/app/console cache:clear --env=prod --no-debug
php /var/www/project.com/app/console assetic:dump --env=prod --no-debug
sudo chmod -R 775 /var/www/project.com/app/cache
sudo chmod -R 775 /var/www/project.com/app/logs
sudo chown -R www-data:www-data /var/www/project.com