[PHP-users 30974] Re: Fatal error: Cannot redeclare
Kumapoo
kumapoo @ zf7.so-net.ne.jp
2006年 12月 12日 (火) 14:31:34 JST
kumapooです。
お世話になります。(文章長くってすいません。。。)
config.inc出すことにしました。
昨日色々思考錯誤してみましたが、、、状況変わらずです。
> そんなプログラマは解雇(後略
私が、ソースを追えないなため、そんなこと言えないデス。笑
開発者のPC(PHP4.4.2)では動作し、本番サーバ(php4.1.2)でも動作し、テス
トサーバ(既出、PHP4.4.2)で標記の「再定義エラー」が出るのが気になってい
ます。
-----
Fatal error: Cannot redeclare configuration_data() (previously declared
in
/export/home/u/hoge-test.imjp.co.jp/public_html/agency/lib/config.inc:18)
in /export/home/u/hoge-test.imjp.co.jp/public_html/agency/lib/config.inc
on line 16
-----
http://eth.jp/hiki.cgi?PHP-Changes-4.4.2
は見てみたのですが、私には???でした。
http://hoge-test.imjp.co.jp/sample2/
httpd.confにこんな感じで書いてあり、実際はindex.phpが呼ばれ、標記のエラー
が出ます。。
DirectoryIndex index.php index.html index.htm index.shtml index.cgi
index.phtml
$ cat -n index.php
1 <?php include_once "../agency/lib/fork.php"; ?>
config.inc+関係の有りそうなソースを出します。
$ cat -n ../agency/lib/config.inc
1 <?php
2 /* *** Define *** */
3 define(PAR_DIR, ROT_DIR."/agency");
4 define(TMP_DIR, PAR_DIR."/template");
5 define(INC_DIR, PAR_DIR."/include");
6 define(AGC_NAM, preg_replace("/^.*\/([^\/]+)\/[^\/]*$/","$1",$_SERVER["REQUEST_URI"]));
7 define(AGC_DIR, ROT_DIR."/".AGC_NAM);
8 define(CMN_CSV, PAR_DIR."/csv/default.csv");
9 define(AGC_CSV, AGC_DIR."/csv/config.csv");
10 define(IMG_DIR, "../agency/img");
11 define(BNR_DIR, "../agency/banner");
12 /* *** /Define *** */
13 ?>
14 <?php
15 /* *** Configuration *** */
16 function configuration_data() {
17 $template_list = array(
18 "header" => "header_01.tmpl",
19 "main" => "main_{{PAGE}}_01.tmpl",
20 "sub" => "sub_01.tmpl",
21 "footer" => "footer_01.tmpl",
22 "fork" => "fork_01.tmpl",
23 "redirect" => "redirect_01.tmpl",
24 );
25 return $template_list;
26 }
27 /* *** /Configuration *** */
28 ?>
29 <?php
30 /* *** Include *** */
31 require_once PAR_DIR."/lib/class.inc";
32 /* *** /Include *** */
33 ?>
$ cat -n ../agency/lib/fork.php
1 <?php
2 header("Content-Type: text/html; charset=shift_jis;");
3 header("Pragma: no-cache");
4 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
5 header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
6 header("Cache-Control: no-store, no-cache, must-revalidate");
7 header("Cache-Control: post-check=-1, pre-check=-1", false);
8 ?>
9 <?php
10 /* *** Define *** */
11 define(ROT_DIR, $_SERVER["DOCUMENT_ROOT"]);
12 /* *** /Define *** */
13 require_once ROT_DIR."/agency/lib/config.inc";
14 ?>
15 <?php
16 function output_content() {
17 $page = (isset($_GET["id"])) ? $_GET["id"] : "list";
18 $agency = new AGENCY(configuration_data(),$page,"FORK");
19 e($agency->output());
20 }
21 function e($str) { echo $str; }
22 output_content();
23 ?>
> 伊東です
>
> > ただ、プログラマに聞いたところ、「二重定義は絶対にない」とのこと。
> > また、プログラマの環境では動くそうです。
>
> そんなプログラマは解雇(後略
>
> > Fatal error: Cannot redeclare configuration_data() (previously declared in /export/home/u/hoge-test.imjp.co.jp/public_html/agency/lib/config.inc:18) in /export/home/u/hoge-test.imjp.co.jp/public_html/agency/lib/config.inc on line 16
>
> この config.inc を晒せばわかるでしょうね。
> 晒せないなら、自己解決するしかありません。
>
> 2カ所に定義してるんじゃなくて、定義しているところを2回処理してるんでしょ。たぶん
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
PHP-users メーリングリストの案内