CodeIgniter の便利ライブラリ Rapyd を Windows で動かすときにつまったのでメモ

Rapyd は、標準で CRUD のスケルトン機能などを持たない CodeIgniter に、その機能を付加するライブラリです。
単体で動くものもあります。

さて、この便利なライブラリなのですが、Linux などの環境では素直(?)に動作するのですが、Windows 環境(自分は xampp)や、Apache の VirtualDirectory 機能などを利用すると、パスの問題などでエラーする事があります。

と言うか自分がそうなったので、設定ではまったところをメモしておきます。

*

ポイントとなるのは、rapyd/config.php と rapyd/include.php でした。

■ポイント1

include.php から config.php を include_once() しているのですが、Windows 環境だと、なぜかワーキングディレクトリが違うのか、ファイルが見つからないとエラーします。getcwd() などでワーキングディレクトリを確認しても問題ないのに、です(解決していません)。

そのため、include.php では、config.php までのフルパスを記述することにしました。

//configuration file
include_once(‘<フルパス>config.php’);

■ポイント2

呼ばれる側の config.php ですが、$rpd 変数の値のセットの仕方ではまりました。

一つめは、$rpd[‘root_path’] で、include.php からみたサーバのルートパスを指定します。
絶対パスで無い場合は、次の例の様に、いっぱい上に行く必要があったりします(笑

//relative (to include.php) or absolute this file path of document root
$rpd[‘root_path’]   = ‘./../../../../’;

もう一つは、$rpd[‘assets_path’] です。CSS やイメージのパスを生成するために使われる変数です。
私はここでもはまりました。それは、VirtualDirectory 機能で /local/ を DocumentRoot とは別に割り当てていたためです。そのため、include.php からの相対パスで指定しても動作せず、サーバルート(/)からの絶対パスを指定する必要がありました。

//relative (to include.php) or absolute web path of rapyd assets
$rpd[‘assets_path’] = ‘/local/rapyd.sa/rapyd/assets/’;

*

この2つの設定ポイントを間違えなければ、問題なく動作するようです。

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

コメントを残す