Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用XAMPP和PEAR安装后未找到AWS SDK_Php_Amazon Web Services_Xampp - Fatal编程技术网

Php 使用XAMPP和PEAR安装后未找到AWS SDK

Php 使用XAMPP和PEAR安装后未找到AWS SDK,php,amazon-web-services,xampp,Php,Amazon Web Services,Xampp,我正在尝试在EC2实例上为PHP设置AWS SDK,但在让SDK正常工作时遇到了问题。请注意,我对所有AWS服务都是新手,我只编写过PHP脚本,以前从未配置过。当我运行以下脚本时,在第6行的/opt/lampp/htdocs/index.php中找不到类'AmazonEC2' 据我所知,AmazonEC2的课程是: /opt/lampp/lib/php/AWSSDKforPHP/services/ec2.class.php 我遵循了以下设置指南: 以下是一些细节: EC2实例:Basic 3

我正在尝试在EC2实例上为PHP设置AWS SDK,但在让SDK正常工作时遇到了问题。请注意,我对所有AWS服务都是新手,我只编写过PHP脚本,以前从未配置过。当我运行以下脚本时,在第6行的/opt/lampp/htdocs/index.php中找不到类'AmazonEC2'

据我所知,AmazonEC2的课程是:

/opt/lampp/lib/php/AWSSDKforPHP/services/ec2.class.php
我遵循了以下设置指南:

以下是一些细节:

  • EC2实例:
    Basic 32位Amazon Linux AMI 2010.11.1测试版(AMI Id:AMI-76f0061f)的t1.Micro节点
  • PHP是使用XAMPP设置的。基本上是卸载到/opt/lampp,在那里它是独立的
  • 使用PEAR安装SDK。完成:
    • sudo/opt/lampp/bin/pear频道discover pear.amazonwebservices.com
    • sudo/opt/lampp/bin/pear安装aws/sdk
默认情况下,我的路径设置为“./opt/lampp/lib/php”。我尝试添加“:/opt/lampp/lib/php/AWSSDKforPHP”,但没有成功。我尝试更改文件权限,但没有成功

我以前从来没有用过梨,或者XAMPP。关于如何让SDK与PHP一起工作,有什么想法吗?我认为这只是一个include_路径问题,但我不确定该如何设置它。(我在更改php.ini后重置了apache,所以这也不是问题所在)

以下是我的系统上的一些路径:

/opt/lampp/lib/php/AWSSDKforPHP
/opt/lampp/etc/php.ini
/opt/lampp/htdocs/index.php
/home/ec2-user/.aws/sdk/config.inc.php

您是否在PHP.ini中更新了PHP


编辑:再看一眼,似乎是您做的。您是否尝试将
services/ec2.class.php
文件包含在您尝试运行的脚本中?

您很可能需要将“services”文件夹添加到您的路径中,或者通过以下方式要求类:

require_once('services/ec2.class.php');

我在搜索可能的答案时发现了与您相同的AWS论坛帖子:


你试过不用梨吗?它们还通过git和可下载的.zip文件提供安装。根据我的经验,梨有时是不可靠的。我当然不会向不熟悉PHP或CLI的人推荐它。

我之前也遇到过类似的问题。 在我的例子中,sdk.class.php位于我包含的另一个文件夹中

因此,您可能需要检查sdk.class所在的路径,
可能在那里创建您自己的带有几个函数的.php文件,需要一次,然后确认您访问的路径是否正确。

有点像一个旧线程…嗯

我也有同样的问题,但是在Windows上使用WAMP和使用AmazonS3而不是EC2。添加以下内容解决了我的问题:

require_once 'AWSSDKforPHP/sdk.class.php';
按照其他人的建议,包括“AWSSDKforPHP/services/s3.class.php”,只会为其他缺少的类抛出更多错误

我认为PEAR会自动执行此操作,但也会检查以确保PEAR文件夹位于php.ini文件的“include_path”设置中:

include_path=".;C:\Program Files\wamp\bin\php\php5.2.11\pear"

我将尝试非PEAR安装,看看这些是否有效。我对梨一点运气都没有。
include_path=".;C:\Program Files\wamp\bin\php\php5.2.11\pear"