Phalconのマニュアルにあるチュートリアルを実装し、INVOという名のWebサイトが表示されるところまで行います。
INVOというのは、Phalcon側で作成したサンプルWebサイトです。
Phalconのインストールは以下の内容で済んでいる前提です。
Phalconインストール(CentOS7.2 + PHP5.4)
または
Phalconインストール(CentOS7.2 + PHP7.0)
Phalconのサンプルソース取得
以下のマニュアルを参考にチュートリアルのソースを取得し、「Hello!」を表示します。
https://docs.phalconphp.com/ja/latest/reference/tutorial-invo.html
今回は、「/var/www/html/」配下にサンプルソースを配置します。
git cloneすることで、html下にinvoフォルダが作成されます。
$ cd /var/www/html/
$ git clone https://github.com/phalcon/invo.git
cloneしてソースを取得したら、gitは不要かと思いますので、削除してしまってよいです。
$ rm -rf /var/www/html/invo/.git/
Nginxの設定
以下のマニュアルを参考にnginx.confまたは、conf.d配下のconfファイルにnginxの設定を行います。
https://docs.phalconphp.com/ja/latest/reference/nginx.html
今回は、マニュアルの「$_SERVER['REQUEST_URI'] をURIsとする場合」の設定を使用します。
プロジェクトフォルダは「/var/www/html/invo/」です。
rootに設定するディレクトリは「/var/www/html/invo/public」ですので、ご注意を!
server {
listen 80;
server_name localhost;
root /var/www/html/invo/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index /index.php;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
設定が完了したら、Nginxを再起動します。
CentOS7の場合
$ /bin/systemctl restart nginx
以上で完了です。
ブラウザでアクセスすると、INVOというWebサイトが表示されると思います。
もし、表示されない場合は以下の対応で直るかもしれません。
画面が表示されない場合の対応
Voltのエラー
もし、以下のようなエラーが画面に表示されたら、cache/volt/への書き込みが行えないためにエラーになっています。
Volt directory can't be written
#0 [internal function]: Phalcon\Mvc\View\Engine\Volt\Compiler->compileFile('/web/dev/ttonos...', '/web/dev/ttonos...', false)
#1 [internal function]: Phalcon\Mvc\View\Engine\Volt\Compiler->compile('/web/dev/ttonos...')
#2 [internal function]: Phalcon\Mvc\View\Engine\Volt->render('/web/dev/ttonos...', NULL, true)
#3 [internal function]: Phalcon\Mvc\View->_engineRender(Array, 'index/index', true, true, NULL)
#4 [internal function]: Phalcon\Mvc\View->render('index', 'index', Array)
#5 /web/dev/ttonosaki/iot/public/index.php(32): Phalcon\Mvc\Application->handle()
#6 {main}
cache/voltフォルダへの書き込み権限を与えてください。
手っ取り早くやるには、フォルダ権限を777にすると解決します。(セキュリティ的に微妙そうですが・・・)
$ chmod 777 /var/www/html/invo/cache/volt
デザイン(css)が適用されない
baseUriの設定が合っていない可能性があります。
以下のように修正すると直るかもしれません。
修正ファイル:/var/www/html/invo/app/config/config.ini
baseUri = /invo/
↓
baseUri = /
以上です。
お疲れさまでした。