読者です 読者をやめる 読者になる 読者になる

ITの隊長のブログ

ITの隊長のブログです。いや、まだ隊長と呼べるほどには至っていないけど、日々がんばります。CakePHPとPlayFrameworkを使って仕事しています。最近はAngular2をさわりはじめたお(^ω^ = ^ω^)

【CakePHP】bakeでインストールしたcakephpで、cakeコマンドのパスが固定の絶対パスになっていたので修正

CakePHP CakePHP2.x PHP

スポンサードリンク

gitのコミットメッセージみたいだな

  • ~/app/Console/cake.php
<?php
...
// the following lines differ from its sibling
// /app/Console/cake.php
if (file_exists($composerInstall . DS . $dispatcher)) {
    $install = $composerInstall;
} elseif (!file_exists($install . DS . $dispatcher)) {
    // ここが絶対パスで固定になっている
    $install = $root . PATH_SEPARATOR .  DS . 'Users' . DS . 'username' . DS . 'git' . DS . 'cake-app' . DS . 'Vendor' . DS . 'cakephp' . DS . 'cakephp' . DS . 'lib';

}

このままだと、本番にあげるとか環境が変わった場合にライブラリファイルがロードできず問題になる。なので、汎用的にする。

<?php
...
// the following lines differ from its sibling
// /app/Console/cake.php
if (file_exists($composerInstall . DS . $dispatcher)) {
    $install = $composerInstall;
} elseif (!file_exists($install . DS . $dispatcher)) {
    $install = $root . PATH_SEPARATOR . $root . DS . 'Vendor' . DS . 'cake-app' . DS . 'cakephp' . DS . 'lib';

}

$rootを使えば、~/cake-appまでのディレクトリを実行した時に探してくれるので、これで環境に依存しないようになったと思う。