0
0

php8+phalcon5+nginx+windows10 環境構築メモ

Posted at

初見のphalcon環境構築時に少々手こずったので備忘として残します。
まずphalconの情報が思いのほか少なかった(シェアがそこまでないからかも)
私自身の経験不足が原因と捉えていますが、似たようなエラーに苦戦中の方の救いになればと思います。

本件に関係しそうな環境諸々は以下の通り

  • php 8.1.8
  • phalcon/devtools 5.0.x-dev
  • nginx 1.27
  • mysql 5.7
  • windows10
  • docker desktop 4.31.1
  • git for windows 2.43.0

docker インストール

$ docker-compose -f .docker/docker-compose.yml up -d --build
$ docker exec -it xxxxx bash
$ composer install

※必要最低限のみ記載するので適宜変更してください。

phalconインストールで問題発生

Dockerfileは以下の通り(ChatGPTに聞けば出てくるような内容なので一部省略します)

FROM php:8.1.8-fpm
COPY php.ini /usr/local/etc/php/

RUN apt update -y \

~ 省略 ~

  && npm install 
  && pecl install phalcon \
  && pecl install psr

ビルド時にpecl install phalcon が以下の通信エラーになる。

$ failed to receive status: rpc error: code = Unavailable desc = error reading from server: EOF

phalconをgitからcloneする

手動インストールも試しましたが、以下で解決しました。
けっこう時間がかかるので気長に待ちました...ちょっと自信ないですがphalconコマンドは認識しました。

RUN apt-get update && apt-get install -y unzip 
RUN pecl install -s psr
RUN docker-php-ext-enable psr 
RUN pecl clear-cache 
RUN pecl channel-update pecl.php.net 
RUN git clone https://github.com/phalcon/cphalcon.git && cd cphalcon/build && ./install 
RUN docker-php-ext-enable phalcon 

phalconコマンドで以下のエラーが出た場合(認識されていないらしい)

$ Fatal error: Uncaught Error: Class "Phalcon\Exception" not found in /composer/vendor/phalcon/devtools/src/Commands/CommandsException.php:20

phalconをグローバルにインストールする(ちょっと無理やり感ありますが...)

$ composer global require phalcon/devtools

または以下のようにPATHを直でキックする
例)phalconコマンドでmodelファイル作成する場合

$ /var/www/vendor/phalcon/devtools/phalcon model {テーブル名} --namespace=App\\Models

関連情報

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0