[linux] 우분투(Ubuntu) 20.04(Focal Fossa)에 Phalcon 프레임워크 설치하기

  • 설치 운영체제: Ubuntu 20.04
  • 다운로드 버전: 5.3
  • PHP 버전: 7.4 - 팔콘 5.0 이상에서는 최소 7.4 버전부터 지원

설치 과정

PHP 설치

  1. apt 업데이트 - $ sudo apt update
  2. PHP 설치 - $ sudo apt-get install php
  3. PHP 설치 확인 - 다음 파일을 생성하고 브라우저에서 http://localhost/info.php 로 접속하면 php 정보가 출력됨.
// 파일 경로 /var/www/html/info.php
<?php
        phpinfo();
?>

pecl 설치

팔콘을 다운로드하기 위해 pecl 설치.

  1. $ sudo apt install php7.4-dev
  2. $ sudo apt install php-pear
  3. $ pecl channel-update pecl.php.net

Phalcon 설치

  1. phalcon 설치 - $ pecl install phalcon-5.3.0
  2. extension 추가 - /etc/php/7.4/apache2/php.ini 파일에서 "extension=phalcon.so" 추가
    • 내 경우에는 정상적으로 extension이 추가되지 않음.
    • 엄청 삽질하다 phalcon.ini 파일이 누락되어 있다는 걸 깨달음.
    • 다음 링크에서 phalcon.ini 파일을 받아 /etc/php/7.4/mods-available 경로에 생성함.
      https://github.com/phalcon/cphalcon/blob/master/.ci/phalcon.ini
    • /etc/php/7.4/apache2/conf.d 와 /etc/php/7.4/cli/conf.d에 링크 파일을 생성해야함
      $ sudo ln -s /etc/php/7.4/mods-available/phalcon.ini 20-phalcon.ini

    • apache 서버를 재시작하면 정상적으로 extension 등록 - $ /etc/init.d/apache2 restart

composer 설치 → phalcon devtool 설치 위해서

  1. 필요한 모듈 설치 - $ sudo apt-get install php-curl php-json php-mbstring php-mysql php-xml php-zip
  2. composer 설치 - $ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/
  3. 사용하기 쉽게 바로가기 설정 - $ sudo ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
  4. 설치 완료(버전 확인) - $ composer --version

phalcon devtool 설치

  1. 작업 위치에 폴더 생성.
  2. composer을 이용해서 phalcon devtool 설치 - $ composer require phalcon/devtools
  3. 프로젝트 뼈대 생성 - $ phalcon create-project store
    • 만약 phalcon이 정상적으로 호출되지 않는 다면 설치된 폴더에서 직접 호출하면 됨. 나의 경우에는
      $ ./vendor/phalcon/devtools/phalcon
    • 만약 뼈대 생성에서 에러가 발생한다면 버전 문제일 확률이 높음. - composer.json 파일에서 phalcon/devtools 버전을 변경하고 $ composer install
    • 버전은 나는 "5.0.x-dev"로 했음. 다른 버전을 확인하려면 아래 링크를 참고할 것.
      https://packagist.org/packages/phalcon/devtools#5.0.x-dev
 

phalcon/devtools - Packagist

README What's Phalcon? Phalcon PHP is a web framework delivered as a C extension providing high performance and lower resource consumption. What are Devtools? This tools provide you useful scripts to generate code helping to develop faster and easy applica

packagist.org

 

웹서버 설정 (Apache2)

/etc/apache2/apach2.conf 설정

 

/etc/apache2/sites-available/000-default.conf 설정

 

브라우저로 접속하게 되면 다음과 같이 출력된다.