3

我整晚都在尝试安装这两个装载机之一,但没有成功。我已将其缩小到创建配置文件。我已将 .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컦

我可以在没有 .config 文件的情况下到达哪里

4

2 回答 2

7

我在这上面花了几个小时,发现我犯了一些愚蠢的错误,比如拼写错误、不正确的 YAML 文件格式等,并找到了以下解决方案。

在您的应用部署文件夹中,您需要创建一个 .ebextensions 文件夹,假设文件夹结构如下:

  • /网络/
    • 索引.php
    • phpinfo.php
    • .htaccess
    • /.ebextensions/

在 .ebextensions 文件夹中,您需要创建一个配置包,在我的示例中,我使用 Amazon AMI Linux 和通过 Amazon Elastic Beanstalk 安装的 PHP 5.6。

可以在此处找到更多信息的链接:在 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 文件夹被忽略,如果发生这种情况,您只需将其重命名为其他名称并再次返回。

从 Amazon CLI运行eb deploy,然后查看 PHP 配置,如果不确定,可以使用以下代码进行检查:

<?php

    phpinfo();

<?php

现在应该安装它。如果您需要了解有关 Amazon CLI 的更多信息,可以使用以下指南进行安装:安装 EB 命令行界面 (CLI),然后在此处找到有关在 Elastic Beanstalk 中使用 PHP 的指南:在 PHP 中部署 Elastic Beanstalk 应用程序

于 2015-06-11T13:09:34.140 回答
-1

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
于 2014-06-06T08:10:07.457 回答