AWS Elastic Beanstalk Instalando IonCube ou Zend Loader

Tenho tentado obter uma dessas duas carregadoras instaladas toda a noite sem sucesso. Eu reduzi-lo para criar um arquivo de configuração. Coloquei um arquivo .config em uma pasta .ebextensions localizada no meu diretório raiz do meu projeto, não tenho certeza se precisa estar no mesmo nível do meu projeto. Mas, em qualquer caso, todas as vezes 403 erros com a seguinte mensagem:

“Você não tem permissão para acessar / neste servidor”. Se eu remover o script, a mensagem desaparece. Também includeei uma captura de canvas de onde eu posso chegar sem o arquivo .config incluído e o motivo pelo qual preciso de um dos carregadores instalado. Agradecemos antecipadamente aqui o que meu arquivo .config se parece:

# Install ioncube mkdir ion cd ion wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz tar xzvf ioncube_loaders_lin_x86.tar.gz mv ioncube/ioncube_loader_lin_5.4.so /usr/lib/php/modules/ioncube_loader.so touch /etc/php.d/ioncube.ini echo "zend_extension=/usr/lib/php/modules/ioncube_loader.so" >> /etc/php.d/ioncube.ini cd .. rm -rf ion/ 

O que recebi aqui: https://forums.aws.amazon.com/thread.jspa?messageID=446182&#446182

Onde posso chegar sem arquivo .config

    Esta instalação para o IonCube funcionou agora para a EC2 (espero que funcione também para o feijão elástico):

    A versão do PHP instalada é 5.5 – mude o 5.5 para sua versão instalada se você tiver uma diferente (“php -v” oferece a você atualmente instalada):

     # Download current version of IonCube loader wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz # Unzip to /usr/local sudo tar -xzf ioncube_loaders_lin_x86-64.tar.gz -C /usr/local # Add installed module to PHP config echo 'zend_extension=/usr/local/ioncube/ioncube_loader_lin_5.5.so' | sudo tee /etc/php-5.5.d/ioncubeloader.ini # Restart Apache (if necessary) sudo service httpd restart 

    Se você executar “php -v” agora, deve mostrar o IonCube instalado:

     PHP 5.5.12 (cli) (built: May 20 2014 22:27:36) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies with the ionCube PHP Loader v4.6.1, Copyright (c) 2002-2014, by ionCube Ltd., and with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies 

    Passei várias horas sobre isso e achei que eu tinha erros tolos como erros de digitação, formatação de arquivo YAML inproper etc. e encontrei a seguinte solução.

    Dentro da pasta de implantação de sua aplicação, você precisa criar uma pasta .ebextensions, digamos que a estrutura da pasta é a seguinte:

    • /Rede/
      • index.php
      • phpinfo.php
      • .htaccess
      • /.ebextentions/

    Dentro da pasta .ebextensions, você precisará criar um pacote de configuração, para o meu exemplo, estou usando o Amazon AMI Linux com o PHP 5.6 instalado através do Amazon Elastic Beanstalk.

    Um link para obter mais informações pode ser encontrado aqui: Customizing Software em Servidores Linux

    Crie um arquivo chamado ioncube.config com os seguintes conteúdos:

     commands: install-ioncube: command: | if [ ! -f /etc/php.d/ioncube.ini ]; then mkdir /tmp/ion && cd /tmp/ion wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz tar xzvf ioncube_loaders_lin_x86-64.tar.gz mv /tmp/ion/ioncube/ioncube_loader_lin_5.6.so "/usr/lib64/php/5.6/modules/ioncube_loader_lin_5.6.so" touch /etc/php.d/01-ioncube.ini echo "zend_extension=/usr/lib64/php/5.6/modules/ioncube_loader_lin_5.6.so" > /tmp/ioncube.ini mv /tmp/ioncube.ini /etc/php.d/01-ioncube.ini fi 

    NOTA: quando você copiar isso, você precisará garantir que a formatação seja espaços e não abas para que ele seja um arquivo YAML corretamente formatado.

    Crie outro arquivo chamado zenframework.config com o seguinte conteúdo

     packages: yum: php-ZendFramework: [] 

    Descobri que, sem estes dois, não funcionou como esperado, também tive um problema onde, por algum motivo desconhecido, minha pasta .ebextensions estava sendo ignorada, se isso acontecer com você simplesmente renomeie-o para outra coisa e de volta.

    Execute o eb deploy partir da CLI da Amazon e, em seguida, dê uma olhada na configuração do PHP, se não tiver certeza, isso pode ser verificado com o seguinte código:

     < ?php phpinfo();  

    Isso agora deve ser instalado. Se você precisa saber mais informações sobre a CLI da Amazon, ela pode ser instalada usando este guia: Instalando a Interface de Linha de Comando (CLI) EB e, em seguida, o guia sobre o trabalho com o PHP no Elastic Beanstalk é encontrado aqui: Implementando Aplicações de Beanstalk Elastic em PHP