スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHPのインクルードファイルと格闘中。

今朝はちょこっとした問い合わせだけで、平和な1日。

PHPを久しぶりにいじっていて、はまっていました。
基本的に、PHPスクリプトはローカルマシンでテストします。
xamppを入れているので手軽です。

そこで、動作したものを本サーバーに持っていって実行。
DB周りのdefineを修正すれば、ほとんど動くのですが、
どうも、うまくゆかず。

今回のシステムで使用する自作クラスをこんな風に配置しました。。



public_html--sample
        |
        ----Classes(自作クラスディレクトリ)
       |
       init.php
       sample.php



sample.phpはinit.phpをインクルードします。
init.phpはClasses内のクラスファイルをインクルードします。
さらに、自作関数内で別クラスをインクルード。

諸事情により、Classesディレクトリはphp.iniの
include_pathには追加できません。←できたら無問題なんですが

ここで問題発生。
とにかく画面が真っ白になりました。
真っ白だと文法エラーのことが多いのですが、どうもそうではないようです。

いろいろ試行錯誤した結果、 インクルードファイルがうまく取り込めていないようです。
仕方が無いので、Classesの自作関数内で別クラスを呼んでいる場所を
絶対パスでインクルードすることにしました。

include ("http://sample.com/Classes/my_class.php");



サーバの設定によっては、「"http://~’」で始まるとインクルードできないことも
あるようです。

あんまり美しくないので、init.phpでinclude_pathを設定した方がいいかなぁ?

set_include_path("インクルード先");



でも、インクルードファイルが無いなら無いでエラーを出してくれたらいいのに。

コメントの投稿

非公開コメント

エラー

.htaccessが機能するなら、
php_flag display_errors On
で、エラーがでるはずです。

php_value include_path もできますけどね。

php.iniの設定で、display_errors はOnになっていたのですよ~。

多分、include_pathのディレクトリで同じクラスファイル名があったから、そっちを先にインクルードしてしまったような気がします。

んー。

そゆレベルではなかったですかw
流石ですね。

一晩寝たら。

かずさん>
 何かごにょごにょしている間に
 直ったみたい。
 include ("./Classes/MyClass.php")

最初はうまくいかなかったのになぁ。
スポンサードリンク
枚方情報
最新記事
カテゴリ
人気ページランキング
ブログパーツ
検索フォーム
最新コメント
楽天オススメ
人気検索記事
プロフィール

ときどきぷろぐらま。

miichan1016をフォローしましょう

Author:ときどきぷろぐらま。
ママぷろぐらま、として頑張ってます。
好きなことはPHPでプログラムを組むこと。
ブログランキング・にほんブログ村へ

メールフォーム

名前:
メール:
件名:
本文:

お気に入りリンク
相互リンク 新着記事
相互リンクをしていただくと、こちらにあなたの最新のブログ記事が表示されます。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。