PHPアプリケーションのマニュアル

このマニュアルでは、PHPアプリケーションの利用方法を解説します。


PHPアプリケーションが動作するコンテナの仕様

PHPアプリケーションが動作するコンテナは PHP 5.6.20 と PHP 5.5.34 を利用できます。 また、非推奨ですが5.4.11 または PHP 5.3.21 も利用できます。 Webサーバーは Apache 2.4 を利用します。アプリケーション実行環境として php-fpm (FastCGI) を利用します。

PHPアプリケーションが動作するコンテナのサーバー構成は以下の通りです。

+------+                       +-------+  +-- worker
|Apache| <---> (FastCGI) <---> |php-fpm|--+-- worker
+------+                       +-------+  +-- worker


PHPアプリケーションが動作するコンテナのディレクトリ構成

PHPアプリケーションが動作するコンテナのディレクトリ構成は以下の通りです。
※システム領域の設定ファイルやログファイル等は除く

home/
└── sqale/
    └── current/
        └── public/
            ├── index.php
            └── (以下略)

Webサーバーのドキュメントルートは /home/sqale/current/public となります。 PHPファイルやHTMLファイル、画像その他公開したいファイルは全て /home/sqale/current/public 以下に配置してください。


Hello World アプリケーションを公開する

Hello World と表示するだけのシンプルなアプリケーションを公開する手順を解説します。
※事前にSqaleのユーザー登録が必要です

Step1. ダッシュボード からPHPアプリケーションを作成する

Sqaleにログインし、ダッシュボード https://sqale.jp/dashboard から新規アプリケーションを作成します。 アプリケーションのタイプとして【PHP】を選びます。

Step2. 以下の内容で index.php というファイルを作成する

テキストエディタを開いて以下の内容をコピー&ペーストし、 index.php というファイル名で保存します。

<html>
  <head>
    <title>Hello World!</title>
  </head>
  <body>
    <?php echo "Hello World!\n"; ?>
  </body>
</html>

Step3. index.php ファイルをSFTPでアップロードする

保存した index.php ファイルをSFTPでアップロードします。 以下のようなディレクトリ構成になるように、 index.php ファイルは必ず public ディレクトリ直下にアップロードしてください。

/home
└── sqale/
    └── ユーザー名/
        └── アプリケーション名/
            └── public/
                └── index.php

※SFTPアップロードの設定方法は SFTPアップロードの設定方法 (Mac用) または SFTPアップロードの設定方法 (Windows用) をご覧ください

Step4. ブラウザでアプリケーションにアクセスする

ブラウザでアプリケーションにアクセスします。 アプリケーションのURLはダッシュボードのアプリケーション詳細ページに記載されています。

Hello World アプリケーションを公開する手順は以上です。


phpinfo を表示する

PHPの動作確認や詳しい設定情報を確認したい場合は phpinfo() の内容をご確認ください。

テキストエディタで以下の内容を index.php というファイル名で保存し、Hello World アプリケーションを公開する手順でアップロードしてください。

<?php
phpinfo();


Pearの使い方

PearはPHPで利用できる各種ライブラリを提供するサービスです。SqaleではPearを利用することができます。

Pearの利用方法

Pearで提供されているライブラリをPHPアプリケーションから利用するには、 .php ファイルの先頭に以下のように記述します。

<?php
require_once('Date.php');

ライブラリの具体的な使い方については、Pearのマニュアルページなどをご覧ください。

インストール済みのPearパッケージ

Sqaleでは以下のPearパッケージがインストール済みです。

  • Archive_Tar
  • Auth
  • Auth_HTTP
  • Auth_PrefManager
  • Cache_Lite
  • Config
  • Console_Getopt
  • DB
  • DB_DataObject
  • Date
  • HTML_AJAX
  • HTML_Common
  • HTML_Menu
  • HTML_QuickForm
  • HTMLTemplateSigma
  • HTML_TreeMenu
  • HTTP
  • HTTP_Client
  • HTTP_Download
  • HTTP_Header
  • HTTP_Request
  • HTTP_Upload
  • Log
  • MDB
  • MDB2
  • MDB2Drivermysql
  • MIME_Type
  • Mail
  • Mail_Queue
  • Net_Socket
  • Net_URL
  • OLE
  • PEAR
  • PHPUnit
  • Pager
  • Services_Amazon
  • Services_Google
  • Services_Technorati
  • Services_Yahoo
  • Services_YouTube
  • SpreadsheetExcelWriter
  • System_Command
  • Text_Password
  • XML_Parser
  • XML_RPC
  • XML_RSS
  • XML_Serializer
  • XML_Tree
  • XML_Util

Pearパッケージの追加方法

インストールされていないPearパッケージを追加して利用することができます。

Pearパッケージを追加するには、コンテナにSSHでログインし、 pear install コマンドを実行します。
※HTTP_Request2 パッケージをインストールする例

$ pear install HTTP_Request2

include_pathpear install コマンドでインストールした Pear ライブラリが優先されます。
また pear install コマンドを使わなくても、適当な場所に Pear ライブラリをアップロードして、include_path を通すことで利用することが可能です。


Smartyの使い方

SmartyはPHPアプリケーションで利用されるテンプレートエンジンです。

SqaleではSmartyのバージョン2とバージョン3が利用できます。

Smartyの利用方法

SmartyをPHPアプリケーションから利用するには、 .php ファイルの先頭に以下のように記述します。
※標準ではSmartyバージョン3が読み込まれます

<?php
require_once 'Smarty/Smarty.class.php';

Smartyの具体的な文法については、Smartyマニュアルをご覧ください。

Smartyのバージョンを使い分ける方法

Smartyのバージョンを指定して利用するには、 .php ファイルの先頭に以下のように記述します。

Smartyバージョン2を利用する場合

<?php

require_once 'Smarty2/Smarty.class.php';

Smartyバージョン3を利用する場合

<?php

require_once 'Smarty3/Smarty.class.php';


.htaccessファイルについて

SqaleのPHPアプリケーションでは .htaccess ファイルをご利用いただけます。
.htaccess ファイルの仕様については Apache ウェブサーバーのマニュアルページ等をご覧ください。
※ Sqale では環境変数は .htaccess で指定することができません。環境変数を変更することは可能でしょうか?を参考にしてください。

自分で用意した .htaccess ファイルをアップロードして利用する場合

ウェブアプリケーションフレームワークを利用するなど、 .htaccess ファイルをご自身で用意して利用する場合、 .htaccess ファイルもデプロイすることで Sqale のコンテナに転送されます。

デプロイ設定で Git をご利用の場合、以下のようなコマンドで .htaccess ファイルをバージョン管理の対象に追加してからデプロイを行なってください。

$ git add .htaccess
$ git push

WordPress のパーマリンク設定機能などサーバー側で .htaccess ファイルを作成する場合

WordPress のパーマリンク設定機能を利用すると、サーバー側で .htaccess ファイルが自動的に作成されます。

この場合、作成された .htaccess ファイルはバージョン管理されていないため、次に Git または SFTP でデプロイを行うとサーバーから削除されてしまいます。また、古い .htaccess ファイルがバージョン管理されている場合も、デプロイ時に古いファイルでサーバー側のファイルを上書きしてしまいます。

そのようなトラブルを防ぐため、デプロイするファイル一式の中に .htaccess という名前のファイルが存在しない場合は、デプロイ実行時に .htaccess を上書きしないようにしています。

WordPress に限らず、サーバー側で .htaccess を作成する機能を備えた CMS を利用する場合は、 .htaccess ファイルをご自身でアップロードしないようにご注意ください。

例: .htaccess というファイルが存在すると、サーバー側で自動生成された .htaccess を上書きします

appname/
├── .htaccess
└── index.php
appname/
├── .htaccess
├── index.php
└── subpage
    ├── .htaccess
    └── subpage.php

例: .htaccess というファイルが一つも存在しない場合のみ、サーバー側で自動生成された .htaccess を上書きしません

appname/
├── index.php
└── subpage
    └── subpage.php

Directory Index の優先順位について

Directory Index の優先順位は以下のようになっています。

↑優先度高

* index.html
* index.php

↓優先度低

.user.ini ファイルについて

php.ini を直接カスタマイズすることはできませんが、かわりに .user.ini  をご利用いただけます。