![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
Собственно это больше не вопрос, а предложение к ksnk (автору скрипта https://github.com/Ksnk/Backup-script) малость модернизировать скрипт, выкинуть лишнее, сделать совместимым в PHP 5.4+, ввести мультиязычность, перевести всё на MySQLi (желательно с подготовленными выражениями), избавится от стареющего формата xml и т.п.и т.д. ^)
Даже имею желание помочь, если конечно ksnk не против PS я просто окончательно созрел для использования этого скрипта в своей CMS.. У меня вроде всё есть, но вот система резервирования старовата. переделывать её не хочется, т.к. морально устарела.. А эта система вроде очень даже живая -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Добавил ответ с "нового Винграда", что-то он кудато пропал :(
Я не против Есть возражение против MySqli, да и против остальных не mysql драйверов. В скрипте используется уникальная функция mysql_unbuffered_query, аналогов которой в других драйверах нет. Именно благодаря этой функции возможно не хранить весь результат в памяти mysql драйвера - php скрипта. Именно она позволяет работать с гигантскими дампами и не грохаться от недостатка памяти. Все остальные драйвера такой пользы лишены. Возможно я что то путаю и работа с большим объемами данных в других драйверах стала прозрачна и естественна, однако достаточно поискать подобные дамперы в гугле и сразу станет ясно, что НИКТО не умеет работать с другими (не mysql) драйверами на php, сохраняя возможность работы с большими дампами. Добавлено @ 20:04 Насчет xml "устаревшего". Он используется внутренней утилитой сборки проекта и никак не появляется снаружи. Так что не очень понятно возражение ;) "Выкинуть лишнее". Что, например? Переход на php 5.4 пока тоже под вопросом, так как на моих площадках пока 5.2 и 5.3. Я просто не смогу проверить :( Это сообщение отредактировал(а) ksnk - 26.8.2013, 20:07 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
ksnk, да никто не против, но (!)
По интерфейсу в принципе только одно замечание.. для универсальности предлагаю вывести в шаблоны. А вот по коду замечаний много ;) но всё решаемо конечно ... Прогнал через инспектор кода IDE, выдал много невалидности и несовместимости с PHP 5.4... ksnk, я малость "поломаю" твой код, если понравится, то буду только рад. Сейчас главное разобраться что основное, а что примеры PS не в обиду "создателям", но я так и не понял как этим пользоваться, т.е. как мне находить нужные материалы и отслеживать определённые темы :( И визуально не совсем "юзабилити", хотя наверное это дело привычки PSS и всё таки крутой форум.. через 30 минут я обнаруживаю эту тему уже в гугле по запросу -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Там 3 ветки "сборки". cms-plugin - чистое мясо дампера, без оформления. Шаблонов там некуда впихнуть. allinone.Ajax - all-in-one сборка, все в одном файле, чтобы удобно было таскать с сервера на сервер. Это - системная утилита. allinone - более старая версия этой утилиты. Если хочется сделать еще одну системную утилитку с блекджеком и шаблонами - почему бы и нет, заведем нувую ветку сборки ;) . -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
ну я так понял за основу нужно взять "мясо" ?
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Да, изначально предполагалось так. Можно сделать попытку разобраться в способе сборки Хотя, вероятно, разуно просто взять мясо, оно не сильно отличается от "исходника", разве что шапками. Сравнить и вставить изменения, если понадобится я смогу и сам. Вероятно, разумно будет стартовать совершенно новый проект, взяв за основу "мясной" файл. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
вообще-то есть mysqli::use_result И кажется это то что нужно -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
На первый взгляд - да, это оно. В выходные посмотрю. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
ksnk, если это оно, а мне кажется така и есть (просто я не пользупался ещё этой частью новшеств MySQLi), но наверное тебе нужно озвучить всю логику резервирования. А то сейчас листаю код - он устарел ещё при царе Горохе
Думаю это будет явно новый проект ;) -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Когда он писался, у меня были площадки на 4-ке. Я не очень уверен в функционировании поекта на 4-ке сейчас, так как у меня минимальная версия 5.2. Так что кто как, а кто и сейчас живет при царе Горохе. ;) Совместимость со старым окружением - это хорошо или нет для системной аварийной утилиты? О чем вообще идет речь? Что там резервировать-то? Вся логика достаточно прозрачна. Единственный, imho, тонкий момент при создании бякапа таблицы: - я ее не блокирую, а просто запоминаю время последнего изменения. - по окончании изготовления комплекта запросов - проверяю время последнего изменения таблицы. Если оно изменилось - таблица пересохраняется по новой. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Да, действительно. Есть такая функция.
Добавил вариант для mysqli драйвера. Изменения - довольно тупая замена функций mysql_ на mysqli_ с модификацией порядка параметров. Возможно, нужно заменить на "объектный" вариант вызова, это позволит сэкономить немного букв в исходниках. Встроенные плейсхолдеры, вероятно тоже могут быть полезны. Насколько я понял, у него (mysqli) получается полная совместимость с имеющимися базами и дампами, так что не вижу пока причины поддерживать mysql ветку. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
нужно перейти на использование подготовленных выражений.. Раз и навсегда избавимся от экранирования -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
...escape_string у меня используется 3 раза. К функции select_db (надо бы посмотреть оно там нужно или нет...), в запросе set names, и при формировании запроса insert с неизвестным, вообще говоря, количеством полей у insert. В каком из этих мест будет эффективно применить подготовленные выражения?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |