Phalcon PHP インストール (Amazon Linux2)
AWSのec2インスタンス上にPhalconフレームワークをインストールします。
githubからソースをクローンしてコンパイルする方法でやっていきます。
ちなみにインスタンスタイプはt2.smallを使っています。t2.micro(メモリ1g)はビルド時にメモリが足りなくてエラーになりました。
インスタンスイメージはAmazon Linux 2 AMIを使います。
Apacheインストール
$ yum install httpd
PHP7.2インストール
phpはAmazon 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
ブラウザでアクセス