CentOSにPhalconの実行環境を用意する
目次 [非表示]
こんにちは。
開発チームのワイルド担当、まんだいです。
本日勉強会でAPI開発について登壇し、PHP最速との呼び声高いPhalconについて、お話しする機会があります。
が、しかし、ビヨンド技術ブログには、Phalconの記事が一つもない!という衝撃の事実。
まずはインストールから、Phalconを始めてみましょう!
PHPのインストール
phalconはPHPのフレームワークなので、PHPがインストールされていないと利用できません。
PHPをyumでインストールする場合、CentOS7系の標準リポジトリから取得したPHPのバージョンは5.4になります。
CentOS6系に至っては5.3。両方ともセキュリティアップデートも終了している、もはや化石です。
このような状況ですので、yumでインストールする際は、標準リポジトリ以外のところから然るべきバージョンのPHPを取得するところから始める事をおすすめします。
ここでは、PHP7.0 + phalcon3.0.3の組み合わせをインストールする手順を示します。
remiリポジトリのPHPを使う手順になりますが、依存関係の問題から、epelリポジトリを先にインストールしておく必要があります。
CentOS 6 系
epelリポジトリのインストール
1 | sudo yum install https: //dl .fedoraproject.org /pub/epel/epel-release-latest-6 .noarch.rpm |
remiリポジトリのインストール
1 | sudo yum install http: //rpms .remirepo.net /enterprise/remi-release-6 .rpm |
phpのインストール
下のコマンドはPHP本体のみのインストールなので、日本語対応が必要なら php-mbstring を、mysql用ライブラリが必要なら php-mysqlnd を。
不足分を追記してください。
1 | sudo yum --enablerepo=remi-php70 install php |
CentOS 7 系
epelリポジトリのインストール
1 | sudo yum install https: //dl .fedoraproject.org /pub/epel/epel-release-latest-7 .noarch.rpm |
remiリポジトリのインストール
1 | sudo yum install http: //rpms .remirepo.net /enterprise/remi-release-7 .rpm |
phpのインストール
下のコマンドはPHP本体のみのインストールなので、日本語対応が必要なら php-mbstring を、mysql用ライブラリが必要なら php-mysqlnd を。
不足分を追記してください。
1 | sudo yum --enablerepo=remi-php70 install php |
PHPのインストールは以上です。
続いて本題のphalconのインストールを始めます!
選べる2通りのインストール! 手早くyumでインストール
CentOSのパッケージ管理システム、yumでサッとインストールするのは非常に簡単です。
しかし、悩ましいのがphalconのrpmを、phalconの公式リポジトリから取得するか、remiから取得するか。
公式リポジトリの方しか利用していないので何とも言えませんが、remi版もPHPのコンパイル環境と似通ったものでコンパイルされていると思われるので特に問題はないと思われます。
次にインストールする際は、remi版を使ってみようと思いますので、その際はこちらに情報を追加します。
今回は、phalcon公式リポジトリからインストールする手順を示します。
phalconのリポジトリのインストール
phalconをリポジトリからインストールする場合、phpのバージョンにさえ気をつければ導入は非常に簡単です。
1 | curl -s https: //packagecloud .io /install/repositories/phalcon/stable/script .rpm.sh | sudo bash |
phalconをインストール
1 | sudo yum install php70u-phalcon |
ディレクトリ構造が特殊な場合は、ソースコンパイルでインストール
githubからソースコード一式をcloneしてコンパイルするのも、もちろん問題ありません。
ただ、コンパイルには、依存ライブラリが必要なので、事前にインストールしておきます。
こちらはyumで一括インストールできます。
1 | sudo yum --enablerepo=remi-php70 install gcc make pcre-devel php-devel |
必要なライブラリが揃ったら、インストールスクリプトを実行するだけです。
こちらはPHPのバージョンに関係なくコマンドは変わりません。
32bit / 64bit でコンパイル処理が異なるようですが、それも自動で判別してくれるので通常は特に指定は不要です。
1 2 3 4 5 6 | git clone https: //github .com /phalcon/cphalcon .git cd cphalcon /build sudo . /install # phalcon.soを読み込む設定ファイルを設置 echo "extension-phalcon.so" | sudo tee /etc/php .d /phalcon .ini |
webサーバーを再起動して追加できているか確認
CentOS 6 系の場合
CentOS6系の場合、service コマンドから起動します。
1 2 3 4 5 | # apache の場合 sudo service httpd [start|restart] # php-fpm の場合 sudo service php-fpm [start|restart] |
CentOS 7 系の場合
CentOS7系の場合、systemctl コマンドから起動します
1 2 3 4 5 | # apache の場合 sudo systemctl [start|restart] httpd # php-fpm の場合 sudo systemctl [start|restart] php-fpm |
phalcon-devtoolsのインストール
phalconには、devtoolsというコンソールコマンドがあって、これは先ほどのrpmやコンパイルしたソースには含まれていません。
このツールもgithub上にありますので、git cloneでソースを取得します。
1 2 3 4 5 6 7 8 9 | git clone https: //github .com /phalcon/phalcon-devtools .git cd phalcon-devtools source phalcon.sh # phalcon.phpをphalconコマンドとして利用できるようシンボリックリンクを作成 sudo ln -s $( pwd ) /phalcon .php /usr/local/bin/phalcon # 実行権限を追加 sudo chmod a+x /usr/local/bin/phalcon |
インストールが完了したら、適当なディレクトリで以下のコマンドを実行してみます。
1 | phalcon create-project test -app |
カレントディレクトリ直下にtest-appというディレクトリができていれば成功です。
今後もPhalcon関連の記事をどんどんアップしていこうと思っていますのでよろしくお願いします。
以上です。