ECWorks Blog

ECWorks Blog

CakePHPを中心としたサイト開発情報をメインに公開。新しもの好きなので時々製品レポートなんかも。

【baserCMS】「さくらのレンタルサーバー」でインストールする場合の注意点

1年以上ぶりの超久々記事です。ゴメンナサイ…

案件で「さくらのレンタルサーバ」にbaserCMSをインストールすることになったのですが、「No input file specified.」というエラーが出てしまいインストーラーがステップ2から進めなくなる問題に遭遇しました。バージョンは「baserCMS3.0.6.1」です。ググるといくつか記事が出てきますが、最近のバージョンでも発生する問題ですのでちゃんと記事を書きました。

▼さくらインターネットでインストールできません
http://forum.basercms.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=25&forum=2

過去のフォーラムにも既に解決記事があるのですが、この中で重要なのが、php.iniに


cgi.fix_pathinfo = 1

を記述するというところで、ほかにもいろんな方法が列挙されていますが、この設定1つのみで回避できます。

変更する場所は、コントロールパネルの次の場所です。

baserCMS_sakura

さくらのPHP設定で、5.3系以降はcgi設定が古いままのようですね。

何故このようなことが起きるのかというと、baserCMSはスマートURLがOFFの状態では「ドメイン名/index.php/パス」というURLになり、index.phpというファイル名のあとにルーティングパスが付加されるため、CGI版PHPでは旧来の設定では問題がある、ということです。既に新しいPHPのインストール直後の設定ではここは1になっていて問題が起きない筈なんですが、さくら側が以前のバージョンからphp.iniをコピってきた互換性をとるためにこのような設定にしているんじゃないですかね。
なおbaserCMSのインストーラーはスマートURLが強制OFFのため、php.ini以外でこの問題を回避する手段がありません。ちなみにbaserのベースにもなっているCakePHPを素で利用する場合は、最初からModRewriteの設定がされており、このような問題は発生しません。

そろそろModRewriteが設定できないサーバを探す方が難しくなってきたので、スマートURLは常にONでもいい感じがしています。




Comments are closed.