bigmac-jp blog

web開発関連のメモ

Phalcon PHP インストール (Amazon Linux2)

AWSのec2インスタンス上にPhalconフレームワークをインストールします。
githubからソースをクローンしてコンパイルする方法でやっていきます。

ちなみにインスタンスタイプはt2.smallを使っています。t2.micro(メモリ1g)はビルド時にメモリが足りなくてエラーになりました。
インスタンスイメージはAmazon Linux 2 AMIを使います。

Apacheインストール
$ yum install httpd
PHP7.2インストール

phpAmazon Linux Extras Libraryからインストールします。

$ amazon-linux-extras install php7.2
$ php -v
PHP 7.2.5 (cli) (built: May 29 2018 19:08:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
その他コンパイルに必須なパッケージをインストール
$ yum install php-devel
$ yum install gcc make
$ yum install git
githubからphalconのソースをインストール&ビルド
$ cd /tmp/
$ git clone git://github.com/phalcon/cphalcon.git
$ cd cphalcon/build
$ sudo ./install
・
・
・
Thanks for compiling Phalcon!
Build succeed: Please restart your web server to complete the installation
PHP.ini変更

/etc/php.d/phalcon.ini を新規作成し下記を記述します。

$ vi /etc/php.d/phalcon.ini
        //下記を追加して保存
        extension=phalcon.so
Phalcon DevToolsインンストール
$ cd /tmp/
$ git clone git://github.com/phalcon/phalcon-devtools.git
$ cd phalcon-devtools/
$ . ./phalcon.sh
$ phalcon

Phalcon DevTools (3.4.0)

Available commands:
  info             (alias of: i)
  commands         (alias of: list, enumerate)
  controller       (alias of: create-controller)
  module           (alias of: create-module)
  model            (alias of: create-model)
  all-models       (alias of: create-all-models)
  project          (alias of: create-project)
  scaffold         (alias of: create-scaffold)
  migration        (alias of: create-migration)
  webtools         (alias of: create-webtools)
  serve            (alias of: server)
  console          (alias of: shell, psysh)
サンプルプロジェクトを作ります
$d /usr/local/src
$phalcon create-project test
Phalcon DevTools (3.4.0)

                                                         
Success: Controller "index" was successfully created.  
                                                         
/usr/local/src/store/app/controllers/IndexController.php
                                                                                                                                                             
Success: Project 'test' was successfully created.
Please choose a password and username to use Database connection.Used default:'root' without password.  
Apache設定変更
$vi /etc/httpd/conf/httpd.conf
#Document
#DocumentRootを"/usr/local/src/test/public"に変更
#Directoryの設定を追加

$service httpd restart
ブラウザでアクセス

f:id:mtaryo:20180820205813p:plain