|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2002-11-24 03:22 UTC] nick at itomic dot com
I have a cms site, and _two_ functions in particular are getting lost somewhere within the execution of the script.
basically the script index.php calls:
index.php -> header.inc -> it_functions/it_db.php
-> news/index.inc -> now.inc
when the script now.inc runs, it cant find two functions defined in it_db.php: it_GetNextID & it_GetFieldNames. the exact error is
Fatal error: Call to undefined function: it_getnextid() in /home/barnyard/public_html/cms/now.inc on line 113
I thought it may be memory_limit, which was 8M & i set it to 16M, but no joy.
It seems only these two functions get lost. Ill try to reproduce the problem with simple code a bit later when I get out of the office.
When we tried to include it_db.php from now.inc directly (immediately preceding the call to it_GetNextID) the _first_ function in it_db.php (connect_db) causes an error :
Fatal error: Cannot redeclare connect_db() (previously declared in /usr/local/lib/php/it_functions/it_db.php:5) in /usr/local/lib/php/it_functions/it_db.php on line 5
The problem was solved by adding the two functions to the head of the file now.inc.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 12:00:01 2025 UTC |
ok, boiled it down to pretty simple code. The problem seemed to stem from the filename and position of it_db.php, which is in a default included directory .home/lib/it_functions/. In the following example, if it_db.php was included in the same directory, all was ok. if /home/lib/it_db.php was renamed to /home/lib/it_database.php (or any other name), the code works fine System: red hat 7.2 php 4.2.3 kernel 2.4.18pre3 apache: 1.3.27 php is an apache module file structure: /home/lib/it_functions/it_db.php (in central code repos): <?php // Get next available unique ID function it_GetNextID($table,$PrimaryKey) { echo "works OK <br />"; } // it_GetFieldNames - Get all field/column names of selected table and load into an array function it_GetFieldNames($table) { echo "works ok too <br />" } ?> blackisha.com/cms_phpdebug/index.php: <? include_once "it_functions/it_db.php"; $a = it_getnextid("table", "trjh"); ?>the only difference is in index.php: <? include_once "it_db.php"; $a = it_getnextid("table", "trjh"); ?>ok index.php now reads (on the live site): <? ini_set("error_reporting", "E_ALL"); //echo "Error Level : " . ini_get("error_reporting") . "<br />"; require_once "it_functions/it_db.php"; $a = it_getnextid("table", "trjh"); ?> I dont get any msg at all now, but i should get an echo from it_GetNextID ... ?it doesnt matter if I do ini_set("error_reporting", "E_WARNING"); or ini_set("error_reporting", "E_ALL"); or include_once / require_once the site comes up with nothing when I set error_reporting