主にWEB関係の話。

スポンサード リンク

FuelPHPのコアを複数アプリで共有している場合のFuelPHP1.6へのアップデート方法。

バフは、「FuelPHPのコアを複数のアプリで共有する方法」のようにFuelPHPのコアを複数のアプリで共有している。

配置はこんな感じ。

ripper@skuld002:~/web$ pwd
/home/ripper/web
ripper@skuld002:~/web$ tree -L 3
.
├── fuelphp1.5
│   ├── CHANGELOG.md
│   ├── CONTRIBUTING.md
│   ├── README.md
│   ├── TESTING.md
│   ├── build.xml
│   ├── fuel
│   │   ├── LICENSE
│   │   ├── app
│   │   ├── core
│   │   └── packages
│   ├── oil
│   └── public
│       ├── assets
│       └── index.php
├── hoge1
│   ├── app
│   │   ├── bootstrap.php
│   │   ├── cache
│   │   ├── classes
│   │   ├── config
│   │   ├── lang
│   │   ├── logs
│   │   ├── migrations
│   │   ├── modules
│   │   ├── tasks
│   │   ├── tests
│   │   ├── tmp
│   │   ├── vendor
│   │   └── views
│   ├── oil
│   └── public
│       ├── assets
│       └── index.php
└── hoge2
    ├── app
    │   ├── bootstrap.php
    │   ├── cache
    │   ├── classes
    │   ├── config
    │   ├── lang
    │   ├── logs
    │   ├── migrations
    │   ├── modules
    │   ├── tasks
    │   ├── tests
    │   ├── tmp
    │   ├── vendor
    │   └── views
    ├── oil
    └── public
        ├── assets
        └── index.php

fuelphp1.5がコアディレクトリで、hoge1 及び hoge2がアプリケーションディレクトリ。

さて、1.6ではログパッケージが廃止され、各アプリの/app/config/config.php のalways_loadからLogパッケージの指定を削除する必要がある。
んで、各アプリの修正をまとめてやっても良いのだけれど、数が多いと修正も大変なので、一旦1.xのコアを利用するアプリと、1.6のコアを利用するアプリを共存させたい。
とりあえず既存のFuelPHP1.xを配置している階層に、1.6本体をダウンロードして配置する。
ディレクトリ名は普通にfuelphp1.6 とかで良いと思う。

こんな感じ。

ripper@skuld002:~/web$ pwd
/home/ripper/web
ripper@skuld002:~/web$ ls
fuelphp1.5  fuelphp1.6  hoge1  hoge2

fuelphp1.6に移動して、

php composer.phar update

を実行し、パッケージのアップデート。

ripper@skuld002:~/web$ cd fuelphp1.6
ripper@skuld002:~/web/fuelphp1.6$ pwd
/home/ripper/web/fuelphp1.6
ripper@skuld002:~/web/fuelphp1.6$ php composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
...
Writing lock file
Generating autoload files

次に1.6に対応したいアプリの oilと public/index.phpからFuelPHPコアへのパスで、Fuelphp1.6のディレクトリを指定してやる。

oil

/**
 * Path to the application directory.
 */
define('APPPATH', realpath(__DIR__.'/app').'/');
 
/**
 * Path to the default packages directory.
 */
define('PKGPATH', realpath(__DIR__.'/../fuelphp1.6/fuel/packages').'/');
 
/**
 * The path to the framework core.
 */
define('COREPATH', realpath(__DIR__.'/../fuelphp1.6/fuel/core').'/');

/public/index.php

/**
 * Path to the application directory.
 */
define('APPPATH', realpath(__DIR__.'/../app').'/');
 
/**
 * Path to the default packages directory.
 */
define('PKGPATH', realpath(__DIR__.'/../../fuelphp1.6/fuel/packages').'/');
 
/**
 * The path to the framework core.
 */
define('COREPATH', realpath(__DIR__.'/../../fuelphp1.6/fuel/core').'/');

最後に /app/config/config.php の always_loadからlogを削除。

これで複数のバージョンのFuelPHPと、それらいずれかのバージョンを利用するFuelPHPアプリケーションが共存出来る。

スポンサード リンク

人気記事

最近の投稿

カテゴリー

タグ