грашка на сървара
1 отговора
81 прегледа
грашка на сървара
Някой да знае на какво се дължи тази грешка, до вчера сайта работеше нормално(от 2-3 седмици) и днес дава това->
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 35 bytes) in /home/dtchalakov/[линк] on line 96
$contents = ';'.$contents;
unset($pages);
$pos1 = 0;
do{
$pos2 = strpos($contents, ';', $pos1+1 );
96>>> $pages[] = substr($contents, $pos1+1, $pos2-$pos1-1);
$pos1 = $pos2;
}while( $pos1<strlen($contents)-1 );
Благодаря предварително
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 35 bytes) in /home/dtchalakov/[линк] on line 96
$contents = ';'.$contents;
unset($pages);
$pos1 = 0;
do{
$pos2 = strpos($contents, ';', $pos1+1 );
96>>> $pages[] = substr($contents, $pos1+1, $pos2-$pos1-1);
$pos1 = $pos2;
}while( $pos1<strlen($contents)-1 );
Благодаря предварително
Re: грашка на сървара
Tъй както гледам много ти е голямо съдържанието на $contents, което увеличава масива $pages[] и свършват 16-те Mb които PHP може да използва (php.ini).
Бързи 2 решения :
1. Увеличи memory_limit в php.ini и рестартирай аpache-то
2. $contents = ';'.$contents;
unset($pages);
$pos1 = 0;
do{
$pos2 = strpos($contents, ';', $pos1+1 );
96>>> $pages[] = substr($contents, $pos1+1, $pos2-$pos1-1);
$pos1 = $pos2;
}while( $pos1<strlen($contents)-1 );
да стане :
unset($pages);
do{
$pos2 = strpos($contents, ';');
96>>> $pages[] = substr($contents, 0, $pos2-1);
$pos1 = $pos2;
$contents = substr($contents,pos2);
}while( strlen($contents)>0 );
може да имам малка грешка не съм тествал сорса
П.С. За изпълнение на няколко SQL заявки, този интерфейс не е много удобен. Ако имаш shell качи файла на сървера и дай в mysql конзолата дай source "path/to/file/source.sql"
Е тук нищо няма:[линк]
Бързи 2 решения :
1. Увеличи memory_limit в php.ini и рестартирай аpache-то
2. $contents = ';'.$contents;
unset($pages);
$pos1 = 0;
do{
$pos2 = strpos($contents, ';', $pos1+1 );
96>>> $pages[] = substr($contents, $pos1+1, $pos2-$pos1-1);
$pos1 = $pos2;
}while( $pos1<strlen($contents)-1 );
да стане :
unset($pages);
do{
$pos2 = strpos($contents, ';');
96>>> $pages[] = substr($contents, 0, $pos2-1);
$pos1 = $pos2;
$contents = substr($contents,pos2);
}while( strlen($contents)>0 );
може да имам малка грешка не съм тествал сорса
П.С. За изпълнение на няколко SQL заявки, този интерфейс не е много удобен. Ако имаш shell качи файла на сървера и дай в mysql конзолата дай source "path/to/file/source.sql"
Е тук нищо няма:[линк]