问题
I'm trying to install Symfony on a server, which has no connection to the internet. I copied composer on the server but when i try to install it i get this error
Connection Error [ERR_CONNECTION]: Unable to connect to getcomposer.org
Is there any possible way to install symfony without active connection to the internet; like download the framework, put it on the server and then run the composer offline? Or does it have too many dependencies, which would be included?
I've already googled but couldn't find a satisfying solution.
回答1:
Do
composer install -o
to install. Then do all preparations like clear cache in prod/dev build assets and dump them
php app/console cache:clear && php app/console cache:clear -e prod --no-debug
php app/console assetic:dump -e prod --no-debug
php app/console assets:install web --symlink --relative
then push/ftp your project to a server. I highly recomend you to run
composer dumpautoload -o
in order to update autolaod files on the server
UPDATE:
You could (should) also run a symfony's after-install script (after dumping autoload) in order to edit/update your parameters.yml
on the Server, since db-access, mailer_transport will be probably different than on your dev-machine
composer run-script post-install-cmd
php app/console cache:clear -e prod --no-debug
then just run
php/console list
if you'll get a list of all available commands => your symfony app was successfully installed and runs
回答2:
You can run composer on computer with connection to internet and copy all directory with files.
Composer to work mast make connection to internet, to check new version of package.
回答3:
The short answer is yes and there are several ways to do that
As others have suggested the best choice is to build your project (install Symfony, install Composer, update dependencies) on a system that is connected to the internet and then just copy the project on the server.
Warning
The system where you build the project should be as similar as possible to the actual server (I mean PHP version, MySQL version, and so on) else the project may breaks.
You may want to build a Virtual Machine to make it really similar, which is good for development also. In that case you may take a look at tools like Ansible and Vagrant.
回答4:
I've the same problem in symfony3.
Solution:
- Create archive of project - for safety.
- Copy project form
server
to computer with internet access (all files & directory):laptop
. - Run
composer update
on laptop. On server:
rm -rf app/*
rm -rf bin/*
rm -rf var/cache/*
rm -rf var/logs/*
rm -rf var/sessions/*
rm -rf vendor/*
rm composer.json
rm composer.lockCopy from laptop to server files to directory:
app/
,bin/
,vendor/
andcomposer.json
,composer.lock
Its work for me :-)
来源:https://stackoverflow.com/questions/44066259/symfony-offline-installation-with-composer