грашка на сървара

1 отговора 81 прегледа
#1

грашка на сървара

Някой да знае на какво се дължи тази грешка, до вчера сайта работеше нормално(от 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 );


Благодаря предварително

Отговор
в отговор на ... #2

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"

Е тук нищо няма:[линк]
Отговор