Hey! I have got a problem, with CPG, when I'am trying to open the page, I have got this error:
Fatal error: Out of memory (allocated 11534336) (tried to allocate 282100 bytes) in /home/icet/public_html/forum/include/functions.inc.php on line 2040
My friends, said me that, I Must restart the server, but admin, on the webd.pl, said that it's is problem with code.
Here is code from 2000 line into 2100 line. Please help me! :( Sorry for my english!
if (is_null($filepathname)) {
$filepathname = $url_prefix[$pic_row['url_prefix']]. path2url($pic_row['filepath']. $pic_prefix[$mode]. $pic_row['filename']);
}
// Added hack: "&& !isset($pic_row['mode'])" thumb_data filter isn't executed for the fullsize image
if ($mode == 'thumb' && !isset($pic_row['mode'])) {
$pic_row['url'] = $filepathname;
$pic_row['mode'] = $mode;
$pic_row = CPGPluginAPI::filter('thumb_data',$pic_row);
} elseif ($mode != 'thumb') {
$pic_row['url'] = $filepathname;
$pic_row['mode'] = $mode;
} else {
$pic_row['url'] = $filepathname;
}
return $pic_row['url'];
}
/**
* cpg_get_default_lang_var()
*
* Return a variable from the default language file
*
* @param $language_var_name
* @param unknown $overide_language
* @return
**/
function& cpg_get_default_lang_var($language_var_name,$overide_language = null) {
global $CONFIG;
if (is_null($overide_language)) {
if (isset($CONFIG['default_lang'])) {
$language = $CONFIG['default_lang'];
} else {
global $$language_var_name;
return $$language_var_name;
}
} else {
$language = $overide_language;
}
include('lang/'.$language.'.php'); ----------------------------------------- line 2040 HERE IS THAT LINE!
return $$language_var_name;
}
// Returns a variable from the current language file
// If variable doesn't exists gets value from english_us lang file
/**
* cpg_lang_var()
*
* @param $varname
* @param unknown $index
* @return
**/
function& cpg_lang_var($varname,$index=null) {
global $$varname;
$lang_var =& $$varname;
if (isset($lang_var)) {
if (!is_null($index) && !isset($lang_var[$index])) {
include('lang/english.php');
return $lang_var[$index];
} elseif (is_null($index)) {
return $lang_var;
} else {
return $lang_var[$index];
}
} else {
include('lang/english.php');
return $lang_var;
}
}
/**
* cpg_debug_output()
*
* defined new debug_output function here in functions.inc.php instead of theme.php with different function names to avoid incompatibilities with users not updating their themes as required. Advanced info is only output if (GALLERY_ADMIN_MODE == TRUE)
*
**/
function cpg_debug_output()
{
global $USER, $USER_DATA, $META_ALBUM_SET, $ALBUM_SET, $CONFIG, $cpg_time_start, $query_stats, $queries, $lang_cpg_debug_output;
$time_end = cpgGetMicroTime();
$time = round($time_end - $cpg_time_start, 3);
$query_count = count($query_stats);
$total_query_time = array_sum($query_stats);
$debug_underline = ' ------------------ ';
$debug_separate = ' ========================== ';
echo '<form name="debug" action="'.$_SERVER['PHP_SELF'].'">';
starttable('100%', $lang_cpg_debug_output['debug_info'],2);
echo '<tr><td align="center" valign="middle" class="tableh2" width="100">';
echo '<script language="javascript" type="text/javascript">
<!--
Undo your hack to see if this improves your situation.
What? I don't understand you! :/ Plz help me!
OK, sorry - I misunderstood; I thought the line
// Added hack
was an actual hack, but it's core. So the initial suggestion I posted doesn't apply.
Quote from: zi3mn1ak on February 16, 2008, 07:49:58 PM
My friends, said me that, I Must restart the server, but admin, on the webd.pl, said that it's is problem with code.
Your friend is wrong. Is the server yours to administer, or are you webhosted? Post a link to your gallery for a start.
I'am a webhosted, but i have got access to FTP, etc.
www.icet.webd.pl/forum/
I have got this error;
Fatal error: Out of memory (allocated 14155776) (tried to allocate 282100 bytes) in /home/icet/public_html/forum/include/functions.inc.php on line 2040
but other persons, have got only white page.
oh, I don't know why, but now i don't have got any errors, only white page, but my page dont move
I do see a gallery on the url you gave.
Before any support can be given please upgrade. You are running <!--Coppermine Photo Gallery 1.4.14 (stable)--> at the moment.
Download and upgrade to 1.4.16 a.s.a.p.
Cheers
Hein
How can I do upgrade to 1.4.16 ? I downloaded this, and what I must do now? If I don't want to lose my images, bits, on the gallery?
btw. 3 days ago, my gallery, worked good, but now once more, I see this error! :(
RTFM (http://coppermine-gallery.net/demo/cpg14x/docs/index.htm#14)
on the start i have got a problem;
'First, make a backup (dump) of your database.'
How can I make a backup of my database? I don't uderstand ;/
There is a plugin by Frantz which can take care of that. Or you can use PhpMyAdmin to do it. Or ask your hoster if this is all abracadabra for you.
Cheers
Hein
Can you give me this plugin? I can't find this :(
It is called the SEARCH function and yes this board has one. Do not expect to be spoon fed. Use the Search function.
If you would have done so and would have searched using words such as "database backup plugin" you would have found as first option in the outcome of that search the following link:
http://forum.coppermine-gallery.net/index.php/topic,40439.0.html (http://forum.coppermine-gallery.net/index.php/topic,40439.0.html)
Cheers
Hein
sorry for problem, I found this :)
ok, so I did a update, and I have got again this error :(
so, where is a problem?! :/
Comone! Help me plz
Well the error message says that you have run out of memory. So my guess is that you're running out of memory.
ok, so say me, how can I repair this?!
Get more memory.
To be more specific, get more memory for the server and not your own server.
Get a better host which will allocate more memory to you..
the 4 posts above me were classic
Great! Buy more memory for shared host or switch to better host. ;D
If you don't want to follow such a nice advice, try this hack:
1. Create file "advanced_get_lang_var.php":
<?php
/**
* advanced_get_lang_var()
*
* A better way to return a variable from the language file
*
* @param string $file Path to lang file.
* @param string $var_name Language variable name
* @return
**/
function advanced_get_lang_var($file, $var_name)
{
static $loaded_files; // static var for loaded lang variables
// Load lang file just once, not for every function call.
if (empty($loaded_files[$file])) {
// read file code
$file_contents = file_get_contents($file);
// find names of all lang vars
if (preg_match_all('/\$(\w+)\s*=/is', $file_contents, $matches)) {
// include lang file to load all the lang vars
include($file);
$loaded_files[$file] = array();
// and store them in static variable
foreach($matches[1] as $match) {
$loaded_files[$file][$match] = $$match;
}
}
}
return $loaded_files[$file][$var_name];
}
?>
2. Put this file into "include" directory.
3. Edit functions.inc.php: find cpg_get_default_lang_var() function and rewrite it a bit. Change
include('lang/'.$language.'.php');
return $$language_var_name;
for
include_once('advanced_get_lang_var.php');
return advanced_get_lang_var('lang/'.$language.'.php', $language_var_name);
That's all.
Don't forget to restore this hack next time when you upgrade you CPG.