カテゴリー別アーカイブ: 未分類

CakePHP をインストールしてみたら諸々エラー

いろいろなフレームワークを使ってみるべく CakePHP をインストールして試してみようとしたところ、まぁ諸々エラーが出ましたので書いておきます。

公式サイトのインストール説明の通りにインストールを進めていき

./bin/cake server
を実行したら
You must enable the intl extension to use CakePHP.
というエラーが出ました。
そうですね、インストールのときにも何かメッセージが出ていた気がします。
(そのままほっておいて突き進んでみたのですが、やっぱりだめですか)

yum install –enablerepo=remi-php56 php-intl

で intl インストールして再度

./bin/cake server

PHP Fatal error: require(): Failed opening required ‘/xxxx/vendor/autoload.php’

なんでしょう。。。

ファイルが無いようです。。

これは intl とは別な現象でしょうか

CakePHPがインストールされたディレクトリを削除してもう一度インストールしてみる
composer create-project –prefer-dist cakephp/app cake_test

proc_open(): fork failed – Cannot allocate memory

あらら、メモリが足りないと。。

さすがに AWS EC2 nano インスタンスだと、そのままのメモリでは厳しいようですね。

以下のコマンドでスワップファイルを作成して、見かけ上のメモリを増やしてみる。
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1

ふたたびディレクトリを削除して
composer create-project –prefer-dist cakephp/app cake_test

おぉ、無事インストール成功。気を取り直して

./bin/cake server

を実行

Welcome to CakePHP v3.6.7 Console
—————————————————————
App : src
Path: /data/cake_test/src/
DocumentRoot: /data/cake_test/webroot
Ini Path:
—————————————————————
built-in server is running in http://localhost:8765/
You can exit with `CTRL-C`

あぁ、やっと動きました!

EC2上なので、 localhost のところをグローバルIPに変えてアクセス。

http://xxx.xxx.xxx.xxx:8765/

ファイヤーウォールに引っかかってタイムアウト。。。

EC2 の SecurityGroup の 8765ポートに風穴を開ける

アクセスしてみる

タイムアウト。。。。

それならIP指定で起動してみる
bin/cake server -H xxx.xxx.xxx.xxx -p 8765

Failed to listen on xxx.xxx.xxx.xxx:8765 (reason: Cannot assign requested address)

うぅ、グローバルIPでは起動できないようです

面倒なので Apache の定義を追加してアクセスしました。

無事にトップページが表示されました。