[PHP-users 27838] Re: PHP実行時のエラーについて。

TAKAGI Masahiro matakagi @ osk2.3web.ne.jp
2005年 12月 14日 (水) 03:27:47 JST


高木です。

At Tue, 13 Dec 2005 16:54:59 +0900,
宮本 睦巳 wrote:
> 
> はじめまして。宮本@大阪府と申します。
http://ns1.php.gr.jp/pipermail/php-users/2005-July/026818.html とか
http://ns1.php.gr.jp/pipermail/php-users/2005-December/028254.html は
なかったことになってしまうんでしょうか……。

> 
> PHPやり始めの初心者です。
> OSはRedHat9.0、Apache1.3.33、PHP4.3.9、PHPLIB7.4pre2を使ってます。
> 
> apacheを起動後index.phpを実行すると
> PHP Fatal error:  Cannot redeclare class db_s
> ql in /home/httpd/html/logging_system/include/db_pgsql.inc on line 12
> と出ました。
> 
「PHP の致命的なエラー」と書かれています。そしてそれ以降で
 エラーの内容
 エラーが発生したファイル名
 そのファイルの中でエラーが発生した行番号
を教えてくれています。親切ですね。
まずは、(英和辞典を利用するなどして) エラーの意味を調べてみましょう。

> 過去スレッドを拝見して/usr/local/lib/php.incで
> auto_prepend_file = prepend.php3 と書かれている場合のエラーとなっていま
> した。
> 
> 当方のphp.incを見ると
> auto_prepend_file = prepend.php となっていましたので
> auto_prepend_file =  と変更したら
> 
これを変更することによって、何がどのように変わるのかは把握されています
か? もし「意味がよくわからない」ということでしたら、マニュアルを確認し
てみましょう。

  http://www.php.net/manual/ja/ini.php

> Cannot instantiate non-exis
> tent class:  logging_session in /home/httpd/html/logging_system/include/page.inc
>  on line 18
> と出ました。
> 
ここでも、
 エラーの内容
 ファイル名
 行番号
を教えてくれています。

さきほど示したマニュアルを参照した上で、上で php.ini から消してしまった
「prepend.php」というファイルの中身を確認してみれば、おそらくこのエラー
の原因がわかるのではないかと思われます。

> index.phpで、require('prepend.php');としておりますが
> これが原因なのでしょうか?
> 
1. 最初に出た「PHP Fatal error:」のエラーメッセージの意味を調べましょ
   う。
2. php.ini での auto_prepend の意味を、マニュアルで調べましょう。
3. ついでに require の意味もマニュアルで調べておきましょうか。
   http://www.php.net/manual/ja/function.require.php

それらの結果を踏まえた上で考えると、これが原因なのかどうかがわかるはず
です。

-- 
高木 正弘 mailto:matakagi @ osk2.3web.ne.jp


PHP-users メーリングリストの案内