강좌게시판

제목 AWS PHP SDK를 CI 에서 사용 하기.
글쓴이 kaido 작성시각 2015/12/14 11:06:01
댓글 : 3 추천 : 0 스크랩 : 1 조회수 : 27127   RSS

부제 - composer 실습.

 

아마존 Ec2 이라면 일반적으로 루트 폴더는 /var/www/html 입니다.

그럼 시작 합니다.차례로 실행해 주세요!

 

// root 권한. 이후 sudo 를 제외하고 실행 가능 

sudo su -

 

// 실행 위치 

cd /var/www/html

 

//Install Composer

curl -sS https://getcomposer.org/installer | php

 

// sdk 설치

php composer.phar require aws/aws-sdk-php

 

그리고 사용할 때는 <?php  require 'vendor/autoload.php'; ....

 

// 끗! 이러면 욕먹습니다. [그게 아마존이 욕먹는 이유이지요.] 

여기까지 참고. https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html

PS. aws php sdk는 2.x 버전과 3.x 버전이 있습니다. 사용법도 약간 다르며, 메뉴얼도 다릅니다. 본 강좌는 3.x 버전을 기준으로 다루고 있습니다.

 

 

이 다음은 CI 에서 사용법입니다.

config.php 오픈

$config['composer_autoload'] = FALSE;
↓
$config['composer_autoload'] =  'path/to/vendor/autoload.php';
or 
$config['composer_autoload'] = TRUE;

$config['index_page'] = 'index.php';
↓
$config['index_page'] = '';

컨트롤러 생성  Aws.php

<?  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
	require FCPATH.'vendor/autoload.php';
	use Aws\Sqs\SqsClient;		
	use Aws\Exception\AwsException;
	use Aws\S3\Exception\S3Exception;
		
class Aws extends CI_Controller {
	function Aws()	{
		parent::__construct();
		
	}
	function sdk_test(){ 
		$sdk = new Aws\Sdk([ 'profile' => 'my_profile', 'region' => 'us-east-1', 'version' => 'latest', 'DynamoDb' => [ 'region' => 'us-west-2', ], ]); 
		$sqs = $sdk->createSqs(); 
		echo "<pre>"; var_dump($sqs); echo "</pre>"; 
	}

 

 

이제 끝! 간단하죠?

주의! 네임 스페이스는 최상단에 위치 해야 합니다. function 안에서는 사용이 안됩니다.

 

참고 자료 : 

CI 컴포저 설치 https://github.com/kenjis/codeigniter-composer-installer

CI 컴포저 사용법 : http://www.codem0nk3y.com/2012/09/how-to-use-blade-in-codeigniter-and-just-about-any-php-unframework-you-can-think-of/

 다음글 [ci 수정] 일반 PHP 프로젝트에 CI 적용하기 2 (2)
 이전글 [ci 수정] 일반 PHP 프로젝트에 CI 적용하기 (4)

댓글

kaido / 2015/12/14 11:11:59 / 추천 0

아마존 내에 설정과 키값 알아오기 기타 등등은 다음 강좌에!

이번 강좌는 그저 컴포저를 이용한 sdk 개발 환경 조성 입니다. 핫핫..

한대승(불의회상) / 2015/12/14 12:01:39 / 추천 0

CI 3.X에서는 composer 지원항목이 추가되어 config.php 에 아래처럼 설정 할 경우

$config['composer_autoload'] =  FCPATH.'vendor/autoload.php';

controller 에서

// 삭제 가능 합니다.
// require FCPATH.'vendor/autoload.php';

CI 2.X는 kaido님 방법대로 controller 에서 직접 require 하거나 CI 라이브러리로 바꿔서 사용하는 방법이 있습니다.

/ 2015/12/15 14:13:06 / 추천 0

@kaido, 불의회상

2.x 버전 사용중이었는데,

컴포져로 ratchet 설치해서 적용중이었는데, 좋은거 배워습니다.

감사합니다!