※ ChatGPTを利用し、要約された質問です(原文:PHPでredeclareのエラーがでるのですが...)
PHPでredeclareのエラーがでるのですが...
このQ&Aのポイント
現在PHP4でweb作成をしています。認証はPHPLIBを使用していますが、エラーが発生しています。
エラーメッセージは「Fatal error: Cannot redeclare class db_sql in /usr/local/apache/phplib-7.4/php/db_pgsql.inc on line 12」です。
エラーの原因は、htaccessファイルでの設定が関係している可能性があります。具体的な解決策をお探しですか?
PHPでredeclareのエラーがでるのですが...
こんにちわ、
現在PHP4でweb作成をしています。それで認証はPHPLIBを使用しているのですが、
「Fatal error: Cannot redeclare class db_sql in /usr/local/apache/phplib-7.4/php/db_pgsql.inc on line 12」
というエラーがでます。
ただ、DB_Sqlというクラスはこのdb_pgsql.incでのみしか使用しておらず(class DB_Example extends DB_Sqlはlocal.inc内で使用しています)、原因が解りません。
おそらく、.htaccess内でprepend.phpをauto_prepend_fileと指定していて、そのprepend.phpのなかで、
(前略)
require($_PHPLIB["libdir"] . "db_pgsql.inc");
require($_PHPLIB["libdir"] . "ct_sql.inc");
require($_PHPLIB["libdir"] . "session4.inc"); require($_PHPLIB["libdir"] . "session4_custom.inc");
require($_PHPLIB["libdir"] . "auth4.inc");
require($_PHPLIB["libdir"] . "perm.inc");
require($_PHPLIB["libdir"] . "user4.inc");
require($_PHPLIB["libdir"] . "menu.inc");
require($_PHPLIB["libdir"] . "local.inc");
require($_PHPLIB["libdir"] . "page4.inc");
:
(後略)
としているために、毎回db_pgsqlがよみこまれるためだとおもいますが、よくわかりません。
質問として漠然としていますが、もしもエラーについてすこしでもなにかしっている方、アドバイスの方、宜しくお願いします。
ちなみにphplib-7.4をインストールしてからかえたのは、
-- .htaccessをかえた(auto_prepend_fileをかえた)
-- prepend.phpのdb_mysqlをdb_pgsqlにかえた
くらいです。
宜しくお願いします。