AWS Эластичный бобовый стебель Установка загрузчика ionCube или Zend


Я весь вечер безуспешно пытался установить один из этих двух погрузчиков. Я сузил его до создания конфигурационного файла. Я поместил файл .config в папку .ebextensions, расположенную в корневом каталоге моего проекта, я не уверен, должен ли он быть на том же уровне, что и мой проект. Но в любом случае каждый раз 403 ошибка со следующим сообщением:

"У вас нет разрешения на доступ /на этом сервере". Если я удалю скрипт, сообщение исчезнет. Я также будет включен скриншот того, куда я могу добраться без включенного файла .config, и причина, по которой мне нужен один из установленных загрузчиков. Заранее спасибо, вот как выглядит мой файл .config:

# 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/ 

Который я получил отсюда: https://forums.aws.amazon.com/thread.jspa?messageID=446182񬻦

Where I can get to without .config file

Author: Tombo890, 2014-03-04

2 answers

Эта установка для ionCube только что работала для EC2 (надеюсь, она также работает для эластичного бобового стебля):

Установленная версия PHP 5.5 - пожалуйста, измените версию 5.5 на вашу установленную версию, если у вас другая версия ("php-v" дает вам текущую установленную версию):

# 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

Если вы запустите "php-v" сейчас, он должен показать вам установленный ionCube:

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
 -1
Author: Sebastian R, 2014-06-06 08:10:07

Я потратил на это несколько часов и обнаружил, что у меня были глупые ошибки, такие как опечатки, неправильное форматирование файла YAML и т.д., И нашел следующее решение.

В папке развертывания приложения вам необходимо создать папку .ebextensions, допустим, структура папок выглядит следующим образом:

  • /Веб/
    • index.php
    • phpinfo.php
    • .htaccess
    • /.расширения/

В папке .ebextensions вам нужно будет создайте пакет конфигурации, для моего примера я использую Amazon AMI Linux с PHP 5.6, установленным через Amazon Elastic Beanstalk.

Ссылку для получения дополнительной информации можно найти здесь: Настройка программного обеспечения на серверах Linux

Создайте файл с именем ioncube.config со следующим содержимым:

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

ПРИМЕЧАНИЕ: Когда вы копируете это, вам нужно будет убедиться, что форматирование - это пробелы, а не вкладки, чтобы это был правильно отформатированный файл YAML.

Создать другой файл под названием zenframework.config со следующим содержимым

packages: 
  yum:
    php-ZendFramework: []

Я обнаружил, что без этих двух он работал не так, как ожидалось, у меня также была проблема, когда по какой-то неизвестной причине моя папка .ebextensions игнорировалась, если это произойдет с вами, просто переименуйте ее во что-то другое и обратно.

Запустите eb deploy из командной строки Amazon, а затем взгляните на конфигурацию PHP, если вы не уверены, что это можно проверить с помощью следующего кода:

<?php

    phpinfo();

<?php

Теперь это должно быть установленный. Если вам нужна дополнительная информация об интерфейсе командной строки Amazon, его можно установить с помощью этого руководства: Установка интерфейса командной строки EB (CLI), а затем руководство по работе с PHP в Elastic Beanstalk находится здесь: Развертывание приложений Elastic Beanstalk на PHP

 5
Author: AaronHatton, 2015-06-11 13:09:34