2017-02-28 21 views
0

Fatal error: Cannot redeclare encrypt() (previously declared in /var/www/html/Medapps_UAT/data/config.inc.php:136)致命的なエラー:

のrequire_once

emp_details.phpを使用してconfig.inc.phpを付属)(user_defined_functionを再宣言することはできません

<?php 
ini_set("soap.wsdl_cache_enabled", "0"); 
require('lib/nusoap.php'); 
require('lib/nusoapmime.php'); 
require_once("../data/config.inc.php"); 
require_once("../tax_calculation.php"); 
. 
. 
. 
?> 

tax_calculation.php

<?php 
require_once("data/config.inc.php"); 
?> 

私としてrequire_onceだけを使用しましたが、関数を再宣言しました。

phpバージョン5.1.6。

答えて

1

PHPは../data/config.inc.phpdata/config.inc.phpのファイルが異なるためです。ファイルのパスが異なるため、ファイルがすでに含まれていることはわかりません。

いくつかのオプションがあります。

realpath()を使用すると、ファイルへのパス全体を返すことができます。

それとも、あなたは$_SERVERDOCUMENT_ROOTプロパティを使用することができます。

require_once($_SERVER['DOCUMENT_ROOT'] . 'data/config.inc.php'); 

これらのファイルを確実に1回ロードする必要があります。

+0

実際にconfig.inc.phpはproject_name/data/config.inc.phpにあります。 emp_details.phpファイルはproject_name/api/emp_details.phpにあります。私たちはconfig.inc.phpをインクルードするために使用します。 – sridhard

0

同じ名前このような「のlib/nusoap.phpの」、「のlib/nusoapmime.php」またはとして含まれるファイルのいずれかで「暗号化」で関数を宣言していないことを確認してください現在のファイル 'tax_calculation.php'にあります。

あなただけのIDEでプロジェクトをインポートして、関数名を検索し、任意のIDEにのようなネット豆または日食を使用している場合。総発生を簡単に見つけることができます。次に、関数名の名前を変更してチェックします。

+0

encrypt()関数は、config.inc.phpのファイルのみで使用されます。 – sridhard

+0

require_once( "../ data/config.inc.php");行を隠すようにしてください。 emp_details.phpに入れて確認してください。 – Karthikeyani

+0

emp_details.phpのコメントの後に動作します。しかし、私はオブジェクトを使用してconfig.inc.php内の関数にアクセスすることができませんでした**サンプルコード** 'class tax_calculaction {public function __construct(){$ this-> connection = new database()}'実行はコンストラクタで停止します – sridhard