【大阪 / 横浜】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜】インフラ / サーバーサイドエンジニア募集中!

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【中国現地企業に対応】中国クラウド / サーバー構築・運用保守

【中国現地企業に対応】中国クラウド / サーバー構築・運用保守

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

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リポジトリのインストール
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

 

remiリポジトリのインストール
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm

 

phpのインストール

下のコマンドはPHP本体のみのインストールなので、日本語対応が必要なら php-mbstring を、mysql用ライブラリが必要なら php-mysqlnd を。
不足分を追記してください。

sudo yum --enablerepo=remi-php70 install php

 

CentOS 7 系

 

epelリポジトリのインストール
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

 

remiリポジトリのインストール
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

 

phpのインストール

下のコマンドはPHP本体のみのインストールなので、日本語対応が必要なら php-mbstring を、mysql用ライブラリが必要なら php-mysqlnd を。
不足分を追記してください。

sudo yum --enablerepo=remi-php70 install php

 
PHPのインストールは以上です。
続いて本題のphalconのインストールを始めます!

 

選べる2通りのインストール! 手早くyumでインストール

CentOSのパッケージ管理システム、yumでサッとインストールするのは非常に簡単です。
しかし、悩ましいのがphalconのrpmを、phalconの公式リポジトリから取得するか、remiから取得するか。
公式リポジトリの方しか利用していないので何とも言えませんが、remi版もPHPのコンパイル環境と似通ったものでコンパイルされていると思われるので特に問題はないと思われます。
次にインストールする際は、remi版を使ってみようと思いますので、その際はこちらに情報を追加します。

今回は、phalcon公式リポジトリからインストールする手順を示します。

 

phalconのリポジトリのインストール

phalconをリポジトリからインストールする場合、phpのバージョンにさえ気をつければ導入は非常に簡単です。

curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.rpm.sh | sudo bash

 

phalconをインストール
sudo yum install php70u-phalcon

 

 

ディレクトリ構造が特殊な場合は、ソースコンパイルでインストール

githubからソースコード一式をcloneしてコンパイルするのも、もちろん問題ありません。

ただ、コンパイルには、依存ライブラリが必要なので、事前にインストールしておきます。
こちらはyumで一括インストールできます。

sudo yum --enablerepo=remi-php70 install gcc make pcre-devel php-devel

 
必要なライブラリが揃ったら、インストールスクリプトを実行するだけです。
こちらはPHPのバージョンに関係なくコマンドは変わりません。
32bit / 64bit でコンパイル処理が異なるようですが、それも自動で判別してくれるので通常は特に指定は不要です。

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 コマンドから起動します。

# apache の場合
sudo service httpd [start|restart]

# php-fpm の場合
sudo service php-fpm [start|restart]

 

CentOS 7 系の場合

CentOS7系の場合、systemctl コマンドから起動します

# apache の場合
sudo systemctl [start|restart] httpd

# php-fpm の場合
sudo systemctl [start|restart] php-fpm

 

 

phalcon-devtoolsのインストール

phalconには、devtoolsというコンソールコマンドがあって、これは先ほどのrpmやコンパイルしたソースには含まれていません。

このツールもgithub上にありますので、git cloneでソースを取得します。

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

 
インストールが完了したら、適当なディレクトリで以下のコマンドを実行してみます。

phalcon create-project test-app

 
カレントディレクトリ直下にtest-appというディレクトリができていれば成功です。

今後もPhalcon関連の記事をどんどんアップしていこうと思っていますのでよろしくお願いします。

 
以上です。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
1,622
X facebook はてなブックマーク pocket
【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【25卒向け】AI×バーチャル面接の募集を開始いたしました!

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

この記事をかいた人

About the author

萬代陽一

ソーシャルゲームのウェブ API などの開発がメイン業務ですが、ありがたいことにマーケティングなどいろんな仕事をさせてもらえています。
なおビヨンド内での私の肖像権は CC0 扱いになっています。