39
41

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS LambdaでPHPなどを動かした話

Posted at

Node.js, Java, Python以外の言語(主にPHP)をAWS Lambdaで動かしたかった。
やったことのまとめ。

Perlを動かした話

AWS Lambdaの環境(Amazon Linux)にはPerlがインストールされている。
Lambda関数からperlコマンドを叩けば、perlのスクリプトを実行できる。
perlの他にも、インストールされているいろいろなコマンドを実行できる。

PHP CLIを動かした話

AWS Lambdaの環境にはPHPはインストールされていない。
でもPHPerなのでPHPを動かしたかった。
Linux用にコンパイルしたPHPコマンドをアップロードすれば、PHPが使用できる。
必要な共有ライブラリがAWS Lambdaの環境にない場合は、アップロードしてライブラリPATHを通す必要がある。

同様の方法で、AWS Lambdaにインストールされていないコマンドを実行することが可能。

PHP Webアプリケーションを動かした話

処理の流れ
API Gatewayでリクエストを受ける
→ AWS LambdaはPHPコマンドでbuilt-in serverを起動
→ curlコマンドでbuilt-in serverにアクセス
→ 出力されたHTMLをAPI Gatewayで返す

built-in serverの起動、built-in serverへのリクエスト・レスポンスに時間がかかり、トータルで結構待たされる。
実用的ではない。

まとめ

Node.js, Java, Pythonをあまり知らなくても、好きな言語で書けば良い。
AWS Lambdaの内部環境が変わる可能性はあるはず。自分でコンパイルしたプログラムを動かす場合、必要な共有ライブラリが無くなるなどの理由で、突然動かなくなることがあるかもしれない。

39
41
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
39
41

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?