Symfony 2.2.1 rsync部署-在远程服务器上不工作
我对Symfony非常陌生,我正试图用rsync自动化部署过程,同时保持Symfony的本地和远程安装正常工作 到目前为止我所做的:Symfony 2.2.1 rsync部署-在远程服务器上不工作,symfony,cygwin,rsync,Symfony,Cygwin,Rsync,我对Symfony非常陌生,我正试图用rsync自动化部署过程,同时保持Symfony的本地和远程安装正常工作 到目前为止我所做的: 在我的本地计算机上安装Cygwin(Windows 7+Apache2.2+PHP 5.3+MySQL 5.1) 使用命令从shell在我的本地机器上完成了一个基本的Symfony安装 php composer.phar创建项目symfony/framework标准版[path]/2.2.1 使用php fpm(fastcgi)设置远程LAMP Ubuntu服务
- 在我的本地计算机上安装Cygwin(Windows 7+Apache2.2+PHP 5.3+MySQL 5.1)
- 使用命令从shell在我的本地机器上完成了一个基本的Symfony安装
php composer.phar创建项目symfony/framework标准版[path]/2.2.1
- 使用php fpm(fastcgi)设置远程LAMP Ubuntu服务器
- 在
dir、parameters.yml和parameters.yml.remote中为本地和远程设置两个不同的配置文件app/config/
- 创建了一个
文件,其中包含文件列表not,以将rsync发送到远程服务器(如中所建议)app/config/rsync_exclude.txt
- 创建了一个从Cygwin运行的部署shell脚本(见下文)
rsync -avz /cygdrive/c/[path]/ user@server:[remote-path]/ --exclude-from=/cygdrive/c/[path]/app/config/rsync_exclude.txt
ssh user@server 'cd [remote-path]/ && php app/console --env=prod cache:clear && php app/console cache:clear'
ssh user@server 'mv [remote-path]/app/config/parameters.yml.remote ~/[remote-path]/app/config/parameters.yml'
rsync
、ssh
和mv
命令可以工作,但部署的站点始终显示HTTP 500错误(app.php和app_dev.php)。
查看服务器错误日志,错误为:
Fatal error: Class 'Composer\\Autoload\\ClassLoader' not found in /[remote-path]/vendor/composer/autoload_real.php on line 23
任何线索都是非常受欢迎的
编辑-这是我的vendor/composer/autoload_real.php
文件(很抱歉让问题变得更长了!):
如果composer生成的自动加载器出现错误,请执行
composer update
。。。将更新您的依赖项并创建一个新的依赖项
如果要部署到生产系统,则应使用-o标志调用该命令
通过这种方式,composer生成一个类映射自动加载器(性能更好),而不是经典的自动加载器
composer update -o
我想重新生成自动加载器将解决问题:)如果composer生成的自动加载器出现错误,请执行
composer update
。。。将更新您的依赖项并创建一个新的依赖项
如果要部署到生产系统,则应使用-o标志调用该命令
通过这种方式,composer生成一个类映射自动加载器(性能更好),而不是经典的自动加载器
composer update -o
我想重新生成自动加载程序将解决问题:)查看一下您的autoload_real.php可能会有所帮助:)请在rsync上传之前尝试“composer update-o”。优化自动加载器(classmap)是生产系统的发展方向:)@nifr这似乎成功了。。。请把它作为答案贴出来,我会接受的!好的,我写了答案并提供了一些描述:)看看你的autoload_real.php可能会有帮助:)请在rsync上传之前尝试“composer update-o”。优化自动加载器(classmap)是生产系统的发展方向:)@nifr这似乎成功了。。。请把它作为答案贴出来,我会接受的!okay写了答案,包括一些描述:)