Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Проблемы после обновления до 2.4

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

А может быть сделать обновление с возможностью ручного выбора метода архивации данных? А по умолчанию устанавливать наиболее распространенный вариант.
198 196 2006-07-16 00:02:36 6866
Описание проекта