こんにちは。 見習い職人の櫛田です。 今回は、AWS SDK for PHPでIAMのユーザ一覧を取得してみます。 下記のように、IAMの一覧データを取得しUser Nameを表示します。 実行結果が下記になります。 自分のアカウントにあるIAMのUser Nameが取得できています。 [USER]kushida ※この記事は、なかの人(KUSSY8077)が書いています。
こんにちは。 見習い職人の櫛田です。 今回は、AWS SDK for PHPでEC2インスタンスにタグを追加してみます。 ○インスタンスにタグを追加 インスタンスにタグを追加するには、下記のようにcreate_tagsにインスタンスIDを指定し、追加するタグをKeyとValueの配列で指定します。 create_tags('i-9e******', array( array('Key' => 'name2', 'Value' => 'test'), )); // 結果を確認する var_dump($response->isOK()); ?> 実行結果が下記のようにtrueであれば、インスタンスにタグが追加されています。 # php rebootinstances.php bool(true) 下記のようにマネージメントコンソールから確認することができます。 ※この記事は、なかの人(KUSS
こんにちは。 見習い職人の櫛田です。 今回は、AWS SDK for PHPでEC2インスタンスの再起動と削除を行ってみます。 ○インスタンスの再起動 インスタンスの再起動を行うには、下記のようにreboot_instancesにインスタンスIDを指定します。 reboot_instances('i-91b*****'); // 結果を確認する var_dump($response->isOK()); ?> 実行結果が下記のようにtrueであれば、インスタンスが再起動されています。 # php rebootinstances.php bool(true) ○インスタンスの削除 インスタンスの削除を行うには、下記のようにterminate_instancesにインスタンスIDを指定します。 terminate_instances('i-91b*****'); // 結果を確認する var_d
こんにちは。 職人見習いの高嶋です。 最近のWebコンテンツはUTF-8で作成される事が多くなり、別の文字コードにコンバートするケースが徐々に減ってきています。 しかし、それでもコンテンツ内のメール配信時にはまだまだUTF-8のまま送信するのは、配信先メーラーが対応しているかという点で抵抗があるので、ISO-2022-JPにコンバートする必要があります。 その際にどうしても問題となってくるのが外字です。 『﨑』『髙』等、氏名や組織名に使われている事も多く、『崎』『高』に替えたいところですが名前は命という事でこういう対処法は時として受け容れてもらえない事もあります。 文字コードがUTF-8で一貫していれば、最近のPCやスマホでは表示することができますが、メール送信時に下記のようにしてISO-2022-JPに変換すると文字化けしてしまいます。 $str = mb_convert_encodin
こんにちは。 見習い職人の櫛田です。 今回は、AWS SDK for PHPでEC2インスタンスのスタートとストップを実行してみます。 ○インスタンスのストップ まず、起動しているEC2インスタンスをストップするには、下記のようにインスタンスIDを指定し、stop_instancesを実行します。 stop_instances('インスタンスID'); // 結果を確認する var_dump($response->isOK()); ?> 実行結果が下記のようにtrueであれば、インスタンスがストップされているのが、マネージメントコンソールから確認することができます。 # php stopinstances.php bool(true) ○インスタンスのスタート そして、再度EC2インスタンスをスタートするには、下記のようにインスタンスIDを指定し、start_instancesを実行します
こんにちは。 見習い職人の櫛田です。 今回は、AWS SDK for PHPでEC2インスタンスを起動してみます。 下記のように、AMIを指定して実行します。 また、オプションで、セキュティグループやリージョン等を指定することができます。 run_instances('ami-84db39ed', 1, 1, array( 'InstanceType' => 'm1.small' )); // 結果を確認する var_dump($response->isOK()); ?> 実行結果のtrueが返ってきました。 # php runinstances.php bool(true) そして、コンソール画面で確認してみるとインスタンスが起動しているのが確認できます。 ※この記事は、なかの人(KUSSY8077)が書いています。
こんにちは。 見習い職人の櫛田です。 AWSの勉強として、AWS SDK for PHPを試していきます。 今回はAWS SDK for PHPを利用してインスタンスの一覧を取得してみます。 (AWS SDK for PHPの設定ができている前提とします) はじめに、「AWSSDKforPHP」のディレクトリを同じ階層に空のPHPファイルを 作成し、このファイルにインスタンスの一覧を取得するプログラムを記述します。 # ls AWSSDKforPHP # touch test.php # ls AWSSDKforPHP test.php # vi test.php 下記のように、インスタンスの一覧を取得するプログラムを記述します。 set_region($region); $ret = $ec2->describe_instances(); if (!empty($ret->body->r
こんにちは。 職人見習いの高嶋です。 PHP + ZendFrameworkのコンビでシステムを構築する際の手順を数回に分けて記していきます。 ZendFrameworkはオープンソースのフレームワークで、多様性に富んでいますが、堅いルールに縛られる事のないフレームワークなので好んで使用しています。 ただ堅いルールが無い分、開発者によって十人十色の構造形態になりやすく、私もこれから書く構築方法がベストなのかは不明です。 ■目標 一般的なシステムはユーザ側と管理者側にシステムが分かれていて且つユーザ側のURLにはパスInfo的にパラメータが付加・制御できれば大概のモノが作れると思います。 http://hoge.jp/admin/ => 管理側URL http://hoge.jp/12345/fuga => ユーザ側のURL一例 特に上記のユーザ側URLの例は一般的には下記の形が未だ多く見ら
JAWS-UG宮崎第3回勉強会LT資料(Browser Uploads to S3 using HTML POST Forms)の記事で、S3にブラウザから直接アップロードする方法を紹介しましたが、そのときは、静的なHTMLフォームを前提として、Base64のpolicyやsignatureは別プログラム(Ruby)で作成していました。 今回は、そのHTMLフォームをPHPで生成し、有効期限やアップロードファイル名、リダイレクト先などを動的に変更できるようにしてみました。 コードは下記の通りです。 "/> 上記は、有効期限をHTMLフォームが作成されてから1分以内とし、アップロードファイル名やリダイレクトURLにid(ユーザーID等)が反映されるようにしています。 S3へのアップロードが成功すると、下記のURLにリダイレクトされ、リダイレクトURLに事前に付与しておいたパラメータ(id=0
こんにちは。 職人見習いの高嶋です。 生年月日からその人の現在の年齢を算出するケースはよくありますが、現在の学年を算出する必要に迫られ、少し困りました。 まず前提として以下の連想配列が定義されているとします。 $gakunenArray = array( 0 => '0~1歳児', 1 => '1~2歳児', 2 => '2~3歳児', 3 => '3~4歳児', 4 => '4~5歳児', 5 => '5~6歳児', 6 => '小学1年生', 7 => '小学2年生', 8 => '小学3年生', 9 => '小学4年生', 10 => '小学5年生', 11 => '小学6年生', 12 => '中学1年生', 13 => '中学2年生', 14 => '中学3年生', 15 => '高校1年生', 16 => '高校2年生', 17 => '高校3年生', 18 => '大学1回生
前に、AWS SDK for PHPでS3にファイルアップロードしようとしたら証明書関係のエラーの記事で紹介はしたのですが、メソッドによっては対策方法である下記のオプションが指定できないものもあるので、このようなメソッドを利用する場合の対策方法を紹介します。 “curlopts” => array(CURLOPT_SSL_VERIFYPEER => false) はじめに、下記のようなスクリプトを実行します。 require_once("/opt/aws/php/latest/sdk.class.php"); $s3 = new AmazonS3( "AAAAAAAAAAAAAAAAAAAA", "ssssssssssssssssssssssssssssssssssssssss" ); $response = $s3->get_bucket_filesize("cdn.cloudpack.
今回は、PHPのmemcachedモジュールをインストールする方法を紹介します。 memcachedモジュールインストールするには、下記が必要となります。 libmemcached libmemcached-devel yum install libmemcached libmemcached-devel 次に、memcachedのインストールです。 今回は、インストールするバージョンを下記とします。 memcached-2.0.0b2 wget http://pecl.php.net/get/memcached-2.0.0b2.tgz tar xfvz memcached-2.0.0b2.tgz cd memcached-2.0.0b2 phpize ./configure make make install インストール完了後、php.iniに記述します。 vi /etc/php.in
AWSの2011 Xmas企画「サンタに願いを」(#サンタクラウド)の準備をしてる際に起きたエラーを紹介します。 $response = $s3->create_object("www.suz-lab.com", "santacloud/tweet.json", array( "body" => json_encode($ranking), "acl" => AmazonS3::ACL_PUBLIC, "contentType" => "text/javascript" )); 通常通り、上記のコードでS3にファイルをアップロードしようとしたところ、下記のようなエラーが発生してしまいました。 PHP Fatal error: Uncaught exception 'RequestCore_Exception' with message 'cURL resource: Resource id
今回は、SDK for PHP を利用して、EC2インスタンスを停止せずにAMIを 作成する方法を紹介します。 スクリプトは下記のようになります。 ※東京リージョンでインスタンスが起動しているとします。 require_once("sdk.class.php"); define("AWS_KEY" , "アクセスキー"); define("AWS_SECRET_KEY", "シークレットキー"); $ec2 = new AmazonEC2(); $ec2->set_region(AmazonEC2::REGION_APAC_NE1); $response = $ec2->create_image('インスタンスID','AMI名', array("NoReboot" => true)); // Success? var_dump($response->isOK()); サービスが稼働中でサ
下記のようにセレクトボックスのソースを書くと、2つめの選択肢はフォーカスが当てれません。 optgroupを使ったインデントのような表現もあるのですが、1次元でもこのように表現する事によって、jqueryでの制御も扱い易いです。 今回、PHP + Smarty で開発中に「html_options」で上記の事を実現する必要に駆られました。 まず、普通にセレクトボックスを生成する場合、下記のように書けばいいのですが、html_optionsはoptionのdisabledに対応していません。 ■PHP側 $options = array( '1' => 'aaa', '2' => 'bbb', '3' => 'ccc', ); $smarty->assign('options', $options); ■Smartyテンプレート側 そこで調べてみたところ、Smarty拡張クラスを改造して公開
前回、SDK for PHP でEC2インスタンスを停止する方法を紹介しましたので、今回は、EC2インスタンスをスタートする方法を紹介します。 停止の場合同様、こちらの記述も簡単に書くことができます。 vi start_instances.php require_once("/opt/sdk-1.4.2.1/sdk.class.php"); define("AWS_KEY" , "AAAAAAAAAAAAAA"); define("AWS_SECRET_KEY", "SSSSSSSSSSSSSSS"); $ec2 = new AmazonEC2(); $ec2->set_region(AmazonEC2::REGION_APAC_NE1); $response = $ec2->start_instances('i-aaaaaaaa'); // Success? var_dump($resp
EC2のインスタンスの停止は、ec2-stop-instancesコマンドを実行することで可能ですが、SDK for PHPからも可能です。 (東京リージョンのインスタンスとします。) スクリプトは下記のようになります。 vi stop_instances.php require_once("/opt/sdk-1.4.2.1/sdk.class.php"); define("AWS_KEY" , "AAAAAAAAAAAAAA"); define("AWS_SECRET_KEY", "SSSSSSSSSSSSSSS"); $ec2 = new AmazonEC2(); $ec2->set_region(AmazonEC2::REGION_APAC_NE1); $response = $ec2->stop_instances('i-44a0c945', array( "Force" => t
前回、PHPにAPCを設定する方法を紹介しましたが、今回はZend Optimizerの設定方法を紹介します。 Zend Optimizerをダウンロードするには、zend公式ページよりユーザ登録をする必要があります。 Zend OptimizerはPHPのバージョンによって異なります。 今回は、PHP5.3の32bit版を利用しているので下記をダウンロードします。 ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz ダウンロードした圧縮ファイルを解凍すると、下記のファイルがあります。 ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ZendGuardLoader.so このファイルを、/usr/lib/php/modules/に移動します。 mv ZendGuardLoader.so
前回PHPにeAcceleratorを設定について紹介しましたが、今回はAPCの設定方法を紹介します。 APCはpeclコマンドでインストール可能となります。 まず、下記コマンドを実行します。 pecl install apc インストールが成功すると You should add “extension=apc.so” to php.ini と表示されますので、上記の設定をphp.iniに追加します。 vi /etc/php.ini extension=apc.so 後は、apacheを再起動します。 確認方法は下記となります。 php -m | grep apc こちらの記事はなかの人(be_hase)監修のもと掲載しています。 元記事は、こちら
以前、SESを使ってみた(AWS)の記事で、PerlスクリプトでのSESの利用を紹介しましたが、今回は、PHPで同様の内容を試してみました。 まずは、下記スクリプトで送信元メールアドレスの承認をします。 #!/usr/bin/php require_once("/opt/aws/php/default/sdk.class.php"); $ses = new AmazonSES( "XXXXXXXXXXXXXXXXXXXX", "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY" ); $response = $ses->verify_email_address($argv[1]); var_dump($response->body); ?> 下記のようにスクリプトを実行すると、 # ./verify-email-address alert@suz-lab.c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く