ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changes between Version 15 and Version 16 of pne-book-9-1


Ignore:
Timestamp:
Mar 31, 2008, 4:34:54 PM (12 years ago)
Author:
ebihara
Comment:

binディレクトリなど変更(間に合うか?)

Legend:

Unmodified
Added
Removed
Modified
  • pne-book-9-1

    v15 v16  
    3030 * LICENSE - OpenPNEは現在PHPLicenseを採用しています。そのライセンス事項が書かれているのが、このファイルです
    3131 * config.php.sample - 設定ファイル(config.php)の編集前のファイルです。OpenPNEをセットアップするには、このconfig.php.sampleからconfig.phpをコピーし、config.phpのほうをコメントの内容に従って書き換える必要があります
    32 ところで、WordPressやXOOPSなど、ほかの一般的なWEBアプリケーションのように、このディレクトリにはindex.phpがルートディレクトリに存在しません。これは、OpenPNEでは後ほど解説するpublic_htmlディレクトリのみをWEBサーバの公開領域に設置することを推奨しているためです(config.phpなどのファイルをWEBサーバの公開領域に設置してしまうと、サーバの設定などによってはファイルの中身(config.phpであればデータベースの接続情報など)が見られてしまったり、想定外のPHPスクリプトにアクセスされてしまうなど、セキュリティ上好ましくありません)。
     32ところで、WordPressやXOOPSなど、ほかの一般的なWEBアプリケーションのように、このディレクトリにはindex.phpがルートディレクトリに存在しません。これは、OpenPNEでは後ほど解説するpublic_htmlディレクトリのみをWEBサーバの公開領域に設置することを推奨しているためです(注:config.phpなどのファイルをWEBサーバの公開領域に設置してしまうと、サーバの設定などによってはファイルの中身(config.phpであればデータベースの接続情報など)が見られてしまったり、想定外のPHPスクリプトにアクセスされてしまうなど、セキュリティ上好ましくありません)。
    3333
    3434{{{
     
    4141
    4242
    43 == binディレクトリ(bin/) ==
     43== binディレクトリ ==
    4444
    4545{{{
     
    6565}}}
    6666
    67 このbinディレクトリはアプリケーションの動作には依存していなく、単体で動作するスクリプトが入っています。
    68 binディレクトリの中には2種類のファイルタイプがあります。一つはcronで、もう一つはPHPです。
    69 基本的にこのcronファイルは同名のPHPファイルと対になって存在しています。
    70 PHPファイルは、実際に携帯の写メール投稿や、RSSの取得などの処理を行うファイルです。
    71 
    72 このbinディレクトの中に、cronファイルとPHPファイルが対でない二つのファイルがあります。その二つのファイルとはconfig.inc.phpとmail.phpです。簡単にこの二つのファイルについて解説します。
    73 
    74 まず、config.inc.phpのソースコードを見てみましょう。
    75 ソースコードを見ると非常にシンプルで、root以下にある設定ファイルのconfig.phpを読み込む処理が書かれています。
    76 
    77 {{{
    78 config.inc.php
    79 
    80 <?php
    81 /**
    82 * @copyright 2005-2008 OpenPNE Project
    83 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
    84 */
    85 
    86 define('OPENPNE_DIR', realpath('../'));
    87 require_once OPENPNE_DIR . '/config.php';
    88 
    89 ?>
    90 }}}
    91 
    92 
    93 次に、mail.phpを解説します。
    94 mail.phpはcatch allというメールサーバの機能を利用してこのmail.phpにメールの本文を渡すことで動作しています。
    95 mail.phpがメールの本文などを受け取ったら、mail.phpでメール本文を読み込み、それぞれの処理を判断しています。
    96 このmail.phpはメールを受信したときに動作するので、対のcronファイルがありません。
    97 
    98 
    99 == lib ==
     67
     68binディレクトリにあるファイルは、他のディレクトリにあったファイルとは違い、OpenPNEからではなく、cronやPostfixなどから実行されるスクリプトです。[[BR]]
     69*.cron という拡張子を持つファイルは、対になった同名のPHPファイルを実行するためのスクリプトとなっています。RSSの取得や、デイリーニュースの送信など、定期的におこなう処理については、これらのファイルを実行することで実現します。[[BR]]
     70mail.phpは、catch all機能を使ってPostfixがメールを受信した際に実行されるスクリプトです。受信したメールがmail.phpに渡され、日記のメール投稿処理などをおこないます。[[BR]]
     71(注:config.inc.phpファイルは、config.phpファイルを読み込むためのファイルです。OpenPNEの設定を取得する必要のあるディレクトリに置かれています)
     72
     73== libディレクトリ ==
    10074
    10175{{{
     
    10781}}}
    10882
    109 それでは次に、rootディレクトリ直下にあるlibディレクトリを見ていきましょう。[[BR]]
    11083このlibディレクトリの中には、includeディレクトリとsmarty_pluginsディレクトリがあります。このlibディレクトリには外部のライブラリが入っています。具体的にはPEARのライブラリなどが入っています。
    11184