|
|
12.07.2006, 01:23
|
|
law
Php-nuke
Зарегистрирован: 2005-11-02
Сообщений: 47
|
После обновления до версии 2.4 посвились следующие 2 траблы:
1. Не работает функция "Архивы проекта", после нажатия на кнопку "Создать архив проекта" netcat/admin/dump.php?phase=5 переходит на
netcat/admin/dump.php?phase=1 долго думает, выводит только шапку от администрирования и все. При этом в /netcat/tmp появляются файлы netcat_files.tgz modules.tgz images.tgz а вот дампа базы MySQL не появляется.... (до обновления все работало).
2. На одной системе имеется 2 сайта в первом новые объекты добавляются нормально во втором добавляются с сообщением что станут доступны после проверки администратором, все настройки проверил - не стоит нигде модерации... (до обновления все было нормально)
3. Функция "Информация о сайте" /netcat/admin/siteinfo/admin.php не работает, при нажатии на кнопку "Проверить" долго думает выдавая в процессе "Идет получение данных..."
Индекс цитирования
Количество проиндексированных страниц
Количество ссылок на сайт
Наличие в каталогах
Статистика
безо всяких значений.
Обновление получилось не с первого раза, возможно чтото и повредилось в процессе, но после неудачного обновления делал полный откат назад и обновление заново.
В какую сторону копать для устранения грабель?
|
|
|
12.07.2006, 01:36
|
|
law
Php-nuke
Зарегистрирован: 2005-11-02
Сообщений: 47
|
Добавка:
При попытке обновления на чистую установленную систему возникает сообщение:
Warning: rename(/pub/home/netcat/tmp//netcat/require/lib/http,/pub/home/netcat/tmp//netcat/require/lib/HTTP): Permission denied in /pub/home/netcat/tmp/install.inc.php on line 51
Патч установлен.
|
|
|
12.07.2006, 12:10
|
|
Гость
Зарегистрирован: 1970-01-01
Сообщений: 665
|
1. Есть ли в БД большие таблицы? Например со статистикой посещений? Ну, в общем, где тысячи и десятки тысяч записей?
2. Никогда о таком не слышал, вопрос в саппорт, чтобы смотрели непосредственно на проекте.
3. Проверить, работает ли PEAR. Открыть страницу http://проекткакойто/netcat/admin/siteinfo/get_data.php?url=ya.ru&what=yandex_cy
и посмотреть какое сообщение об ошибке. А вообще ответ в вашем втором сообщении, посколько патч некорректно установился из-за ограничений использования функции rename. Скопируйте сами из патча папку /require/lib на свой проект.
|
|
|
12.07.2006, 14:47
|
|
law
Php-nuke
Зарегистрирован: 2005-11-02
Сообщений: 47
|
1. Больших таблиц нет, через панель админимтрирования хостинга бэкап базы происходит на ура.
На сколько я понимаю проблема в MakeBackUp()
function MakeBackUp()
{
global $db_path, $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DB_NAME,$DOCUMENT_ROOT,$TMP_FOLDER;
$dbhost = $MYSQL_HOST;
$dbuser = $MYSQL_USER;
$dbpwd = $MYSQL_PASSWORD;
$mysql_dump = new MYSQL_DUMP($dbhost,$dbuser,$dbpwd);
$sql = $mysql_dump->dumpDB($MYSQL_DB_NAME);
if($sql==false)
echo $mysql_dump->error();
$mysql_dump->save_sql($sql,$TMP_FOLDER."netcat.sql");
}
2. Попробую еще поковырять.
3. Перезалил файлы - заработало.
Наверно по возможности стоит предусмотреть эту "ошибку" т.к. наверно довольно много ваших клиентов живут на валуехосте.
|
|
|
12.07.2006, 15:37
|
|
Гость
Зарегистрирован: 1970-01-01
Сообщений: 665
|
После перезаливки файлов архив не начал создаваться?
Дело не в функции, а вообще в логике архивирования. Раньше все делала стандартная софтина сервера mysqldump, он все делает быстро, но на очень многих хостингах к ней нет доступа. Сейчас все делается средствами PHP, поэтому при больших объямах БД скрипту не хватает времени запаковать в дамп.
|
|
|
12.07.2006, 17:11
|
|
law
Php-nuke
Зарегистрирован: 2005-11-02
Сообщений: 47
|
Может быть подскажете вариант кода модифицированной функции чтобы использовался стандартный mysqldump ?
|
|
|
13.07.2006, 14:58
|
|
law
Php-nuke
Зарегистрирован: 2005-11-02
Сообщений: 47
|
Заменил в dump.inc.php имеющуюся функцию MakeBackUp на старую:
function MakeBackUp(){
global $db_path, $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD, $MYSQL_DB_NAME,$DOCUMENT_ROOT,$MySQLD;
if(file_exists ($MySQLD)){
if (substr($DOCUMENT_ROOT, -1, 1) == "/") {
$syspath=substr($DOCUMENT_ROOT, 0, (strlen($DOCUMENT_ROOT)-1));
} else {
$syspath=$DOCUMENT_ROOT;
}
chdir($syspath."/netcat/tmp/");
if($MYSQL_PASSWORD==''){
$cmd=$MySQLD.' --add-drop-table -h'.$MYSQL_HOST.' -u'.$MYSQL_USER.' '.$MYSQL_DB_NAME.' > netcat.sql';
}else{
$cmd=$MySQLD.' --add-drop-table -h'.$MYSQL_HOST.' -u'.$MYSQL_USER.' -p'.$MYSQL_PASSWORD.' '.$MYSQL_DB_NAME.' > netcat.sql';
}
system($cmd);
}
}
И добавил в vars.inc.php переменную
$MySQLD = "/usr/local/bin/mysqldump";
Все заработало.
|
|
|
13.07.2006, 17:57
|
|
Гость
Зарегистрирован: 1970-01-01
Сообщений: 665
|
Решение, конечно, но ненадежное. До первой установки обновления.
|
|
|
16.07.2006, 00:02
|
|
law
Php-nuke
Зарегистрирован: 2005-11-02
Сообщений: 47
|
А может быть сделать обновление с возможностью ручного выбора метода архивации данных? А по умолчанию устанавливать наиболее распространенный вариант.
|