Help us understand the problem. What is going on with this article?

Phalcon3.4セットアップメモ (Amazon Linux2)

More than 1 year has passed since last update.

目的

PHPのフレームワークの中でも高速と言われている「Phalcon」のセットアップを行う

ベース環境

OS : Amazon Linux 2
nginx : 1.12
php : 7.2

※ 以下ページで作成した環境をベースとする
https://qiita.com/knymssh/items/15bb876da0688db5feb1

※ EC2インスタンスタイプは「t2.micro」だとソースコードからのコンパイル時にメモリ不足となるため、「t2.medium」で実行

Phalcon(3.4)のインストール

ソースコードからコンパイル

※ 手順は公式サイトを参考
https://docs.phalconphp.com/ja/3.4/installation#installation-sources

コンパイルに必要なパッケージをインストール

sudo yum install -y gcc make php-devel git

ソースコード取得、コンパイル実行

git clone https://github.com/phalcon/cphalcon
cd cphalcon/build
sudo ./install

/etc/php.d/phalcon.ini (新規ファイル)

モジュール読み込みの設定を追加

echo 'extension=phalcon.so' | sudo tee /etc/php.d/phalcon.ini

/etc/nginx/conf.d/phalcon.conf (新規ファイル)

※ 公式サイトの記載を参考に設定
https://docs.phalconphp.com/ja/3.4/webserver-setup#nginx

サービス再起動

$ sudo systemctl restart php-fpm
$ sudo systemctl restart nginx

確認

phalconモジュールが正常に組み込まれていることを確認

$ php -r 'print_r(get_loaded_extensions());' | grep phalcon
    [34] => phalcon

また、ブラウザからphpinfoにアクセスして、「phalcon」のセクションが追加されていることを確認

補足

phalconはremiリポジトリからもインストールできますが、
今回のベース環境ではphalconが有効にならなかったため、この手順は使用していません。

# 外部リポジトリを追加(epel,remi)
$ sudo amazon-linux-extras install -y epel
$ sudo yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

# リポジトリ確認
$ ll /etc/yum.repos.d/ | grep remi-php72
-rw-r--r-- 1 root root 1314  6月 19 17:28 remi-php72.repo

# Phalconのパッケージ検索
$ yum search --enablerepo=remi-php72 phalcon | grep php72
php72-php-phalcon3.x86_64 : Phalcon Framework

# Phalconのバッケージをインストール
$ sudo yum install -y --enablerepo=remi-php72 php72-php-phalcon3

# インストール確認
$ yum list installed | grep phalcon
php72-php-phalcon3.x86_64      3.4.1-2.el7.remi               @remi-safe

参考サイト

https://docs.phalconphp.com/ja/3.4/installation
https://docs.phalconphp.com/ja/3.4/webserver-setup
https://blog.apibank.jp/make_php_framework_phalcon/

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away