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 = /
以上です。
お疲れさまでした。