Symfony2 Compositor instalar chamadas de errado instalação de php/versão internamente
-
21-12-2019 - |
Pergunta
Eu estou tentando configurar o Symfony 2.5 via Compositor.Primeiro que eu estou chamando:
php5.3.8-cli /kunden/81425/composer.phar create-project symfony/framework-standard-edition hhcadm/ "2.5.*"
Isso funciona até que em algum ponto ele é internamente não chamar php5.3.8-cli mas sei que, de alguma forma, usa php.O problema é que php é a versão 4.4.9 e isso faz o seguinte efeito:
Nothing to install or update
Generating autoload files
Updating the "app/config/parameters.yml" file
X-Powered-By: PHP/4.4.9
Content-type: text/html
<br />
<b>Parse error</b>: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in <b>/kunden/81425/hhcadm/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Resources/bin/build_bootstrap.php</b> on line <b>13</b><br />
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap handling the post-install-cmd event terminated with an exception
[RuntimeException]
An error occurred when generating the bootstrap file.
O erro faz sentido, como 4.4.9 é muito antiga.Como eu posso dizer Compositor/Symfony instalador que de instalação do php para o uso durante a rotina de instalação?
O mesmo acontece para mim quando eu a chamo de:
php5.3.8-cli /kunden/81425/composer.phar install
Eu sou muito a shure tem de ser uma config / param para isso, mas eu não posso encontrá-lo por horas agora.
Muito obrigado.
Solução
'php' deve ser o PHP5 executável.A única solução que eu vejo é para modificar o CAMINHO, lançar o compositor de comando (e, eventualmente, restaurar o antigo caminho)
Por exemplo :
OLDPATH=$PATH
PATH=/usr/local/php5/bin:$PATH
php /kunden/81425/composer.phar install
PATH=$OLDPATH
Para ajudar, você também pode criar um pequeno script 'composer.sh' :
#!/bin/sh
OLDPATH=$PATH
PATH=/usr/local/php5/bin:$PATH
php /kunden/81425/composer.phar $*
PATH=$OLDPATH
E você chama 'composer.sh instalar'
Editar :se todos php binários estão no mesmo, você pode criar links simbólicos
Por exemplo :
mkdir /usr/local/bin/php5
ln -s /usr/local/bin/php53-cli /usr/local/bin/php5/php
E assim PATH=$PATH:/usr/local/bin/php5:$PATH
Editar:Se você não tem permissão para criar /usr/local/bin/php5, em seguida, basta usar qualquer outra pasta, como:
#!/bin/sh
OLDPATH=$PATH
PATH=/kunden/81425/php5:$PATH
php /kunden/81425/composer.phar $*
PATH=$OLDPATH