|
|
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
Здравствуйте гуру SQL. Новичку требуется ваш совет. Задача - в автоматическом режиме регулярно передавать файл 3 Gb в PHP+MySQL ОС с которого передается файл - Windows XP файл должен передаваться через VBS скрипт на клиенте и получаться PHP на сервере. Как я себе это представляю - VBS используя ADO и Msxml2.XMLHTTP читает файл и отправляет PHP скрипту, который в свою очередь перенаправляет поток данных в БД MySQL в столбец с типом LONGBLOB. Либо VBS отправляет файл методом POST/http ... Файл большой, жизнеспособна ли такая схема - непонятно. Как в такой ситуации работает PHP, хватит ли памяти принять такой файл. Не будет ли сбоев из за ошибок передачи данных? Подскажите направление, если схема жизнеспособна - буду работать в этом направлении дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2014, 23:56:19 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
manager5555Здравствуйте гуру SQL. Новичку требуется ваш совет. Задача - в автоматическом режиме регулярно передавать файл 3 Gb в PHP+MySQL ОС с которого передается файл - Windows XP файл должен передаваться через VBS скрипт на клиенте и получаться PHP на сервере. Как я себе это представляю - VBS используя ADO и Msxml2.XMLHTTP читает файл и отправляет PHP скрипту, который в свою очередь перенаправляет поток данных в БД MySQL в столбец с типом LONGBLOB. Либо VBS отправляет файл методом POST/http ... Файл большой, жизнеспособна ли такая схема - непонятно. Как в такой ситуации работает PHP, хватит ли памяти принять такой файл. Не будет ли сбоев из за ошибок передачи данных? Подскажите направление, если схема жизнеспособна - буду работать в этом направлении дальше. случаи разные бывают, но с вероятностью 99% нежизнеспособна... Бейти файл на части, шлите кусками (та же схема, но), вопрост только в том, зачем вам 3GB блоб в базе данных? Может его просто в файл на сервере? Помимо прочего на таких объёмах неплохо бы проверять целостность файла... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 00:09:36 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
NikolayV81 Бейте файл на част ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 00:10:14 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
manager5555, а какова причина выбора столько странной схемы? теоретически, наверное, заставить работать ее возможно, но, имхо, это будет чудовищно неэффективно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 00:11:54 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
miksoftmanager5555, а какова причина выбора столько странной схемы? теоретически, наверное, заставить работать ее возможно, но, имхо, это будет чудовищно неэффективно. я за 2 торрент клиента и отправку хэша :) ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 00:28:24 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
Я перезаложился по максимуму. 3 Гб - это максимально возможный размер файла. В основном файлы будут значительно меньше. Не знаю насчет трех, но гигабайт точно будут. Причина хранения файла в MySQL - больше негде хранить, а в MySQL места достаточно. Сохранять в папках нет возможности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 01:03:32 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
Идея с 2мя торрентами очень интересная и необычная, но сохранять 2-ой торрент на сервере некуда... Писать в папки запрещено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 01:08:31 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
manager5555Я перезаложился по максимуму. 3 Гб - это максимально возможный размер файла. В основном файлы будут значительно меньше. Не знаю насчет трех, но гигабайт точно будут. Причина хранения файла в MySQL - больше негде хранить, а в MySQL места достаточно. Сохранять в папках нет возможности.А возможно коннектиться к MySQL извне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 01:26:32 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
Сейчас нет, но в будущем такая возможность будет. Так что пока, уверенно - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 01:28:18 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
manager5555, И можете ли вы изменять настройки MySQL ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 01:33:44 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
нет. Нашел в интернете скрипт, по описанной выше схеме хранит изображения в MySQL. Но, изображения <15Mb, а мои потребности значительнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 01:41:11 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
manager5555нет.Тогда и так невысокие шансы резко падают. Одно из препятствий - max_allowed_packet . Рассмотрите вариант резать файл на множество кусочков, например, по мегабайту и хранить их в отдельных BLOB-ах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 01:50:37 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
miksoft, show variables like 'max_allowed_packet' - показал 7 Мб. Значит будем разбивать файл на куски по 5 Мб. Как лучше разбить файл? - при отправке, в клиенте отправляющем файл вести подсчет? Отправили 5 Мб, перезагружаем PHP скрипт, присваиваем следующий номер части файла, отправляем следующие 5 мб, и так по кругу... ? Или rar-ом в командной строке создавать многотомный архив < 5 Мб том, и по одному файлу отправлять на сервер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 03:45:02 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
Вариант примонтировать к серверу XP-шную директорию с файлом не рассматривается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 10:11:21 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
Согласен, нужна настройка сервера и нарезка на части. Следует проверить всю цепочку органичений - не только в базе Mysql -> max_allowed_packet но и в PHP: -> max_execution_time - чтобы скрипт не отвалился раньше, чем закончит -> max_post_size и max_post_file_size - ну, это понятно Нарезка на части позволит еще и передавать сразу в несколько потоков. Сначала передаем на сервер коллекцию хешей для всех частей и их номера и размеры. Затем начинаем закачку. В случае обрыва - всегда можно запросить у сервера какие части у него уже есть, а каких нет и продолжить закачку недостающих частей. Msxml2.XMLHTTP для гигабайтных размеров я не использовал, не знаю как себя поведет. А по-хорошему подумайте над возможностью использования pscp.exe - вызвал ее из командной строки, и все дела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 11:42:29 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
Пожалуй, что нарезку действительно можно доверить архиватору, например 7z. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 11:47:09 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
manager5555Я перезаложился по максимуму. Сохранять в папках нет возможности. ничего не делайте - само пройдет после сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2014, 12:21:58 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
Спасибо, очень полезно почитать ваши соображения. Задался вопросом - оценить трудоемкости реализации: А. - Файлобмен через SQL - не самый легкий способ для организации хранения больших файлов. Минусы - готовых решений нет, неизвестный объем работы по изобретению, отладке. Плюсы отсутствие затрат времени, сил на настройку/установку серверной части. Все настроено, работает, но с ограничениями. Б. - FTP сервер, - не ясно как реализовать следующее: Б.1 - На FTP каждый пользователь должен имеет доступ на запись только в свою папку. Б.2 - FTP сервер каким то образом получает данные об учетных записях (логинах) пользователей с PHP+MySQL сервера (расположенного на другой машине). И на основании этих данных проводит авторизацию. В. - Появилась свободная машина. На VirtualBox поднять свой LINUX/Deb - ОС + установить LAMP или XAMP . Плюсы - никаких ограничений на запись в папки через протокол HTTP, то есть любые настройки PHP и MySQL. Для решения задач достаточно типовых PHP решений с небольшой правкой под себя. Минусы - нет опыта по установке и настройке Debian+XAMP(PHP+MySQL). При перезагрузке основной ОС, можно ли сделать чтобы VirtualBox с Линуксом загружался автоматически. Подскажите самый легкий вариант. Вчера поработал с WAR-FTP + pscp.exe - для того, чтобы организовать работу FTP server, pscp, PHP, MySQL потребуется немало времени... netwind - ирония не уместна. Лучше что нибудь полезное скажите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2015, 13:24:41 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
manager5555Б.2 - FTP сервер каким то образом получает данные об учетных записях (логинах) пользователей с PHP+MySQL сервера (расположенного на другой машине). И на основании этих данных проводит авторизацию.Насколько знаю, некоторые FTP-серверы умеют авторизовать своих пользователей по SQL-базе. Сходу не скажу, какой именно сервер и какую СУБД использует. manager5555При перезагрузке основной ОС, можно ли сделать чтобы VirtualBox с Линуксом загружался автоматически.Конечно можно. При установке VirtualBox на FreeBSD даже готовые штатные стартовые скрипты для этого имеются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2015, 14:54:27 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
vkle, Только что поставил Lubuntu+XAMPP. Что касается PHP+MySQL думаю сам разберусь. 1. Как сделать, чтобы web сервер из Lubuntu был доступен всем машинам из интернета, учитывая что Lubuntu стоит на виртуалке. 2. Под Windows не поделится кто нибудь скриптом автозагрузки VirtualBox и автозапуском гостевой ОС. 3. Если файл - образ жесткого диска в VirtualBox *.vdi скопировать и подключить к другому VirtualBox - запустится ли установленная на него ОС? Если да, то бэкап ОС можно достаточно легко организовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2015, 17:19:07 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
manager55551. Как сделать, чтобы web сервер из Lubuntu был доступен всем машинам из интернета, учитывая что Lubuntu стоит на виртуалке.Виртуалка тут не имеет значения. Смотрите в сторону маршрутизации, проброса портов и т.п. Конкретнее, не зная структуры сети сложно что-либо советовать. manager55552. Под Windows не поделится кто нибудь скриптом автозагрузки VirtualBox и автозапуском гостевой ОС.В винде шедулером можно запустить. Что-то вроде Код: sql 1. скорее всего. manager55553. Если файл - образ жесткого диска в VirtualBox *.vdi скопировать и подключить к другому VirtualBox - запустится ли установленная на него ОС?Запустится. Разумеется, конфигурация виртуальной машины должна быть более-менее похожей. Пара нюансов: 1. Если виртуалка 64-битная, то при 32-битной ОС хоста она не запустится - это следует иметь в виду. 2. Простое копирование файла виртуального диска не есть хорошо. Для этого имеется инструмент VBoxManage clonehd или clonevdi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2015, 18:21:12 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
vkleВ винде шедулером можно запустить.Или ярлыком из Автозагрузки, если это устроит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.01.2015, 18:23:04 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
Оптимальным решением оказалось развертывание XAMPP для Windows. Единственный минус - отсутствие безопасности, пакет предназначен для разработки. Например из внешней сети, помимо своих скриптов есть возможность запустить phpinfo() и посмотреть очень много интересного про компьютер. По затратам времени/ простоте настройки - самое эффективное решение. Очень не требователен к ресурсам. Работает в фоновом режиме как служба Windows. Как бы разграничить доступ к папкам в апаче - из локалки можно, из внешнего интернета - нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2015, 22:44:48 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
manager5555Оптимальным решением оказалось развертывание XAMPP для Windows. Единственный минус - отсутствие безопасности, пакет предназначен для разработки.Что мешает установить нужное из официальных дистрибутивов, которые предназначены для боевых серверов? manager5555Например из внешней сети, помимо своих скриптов есть возможность запустить phpinfo() и посмотреть очень много интересного про компьютер.Надуманная проблема. Можно удалить этот файл или удалить строку с оной функцией. Можно вообще запретить в PHP все "лишние" функции. manager5555Как бы разграничить доступ к папкам в апаче - из локалки можно, из внешнего интернета - нельзя.С чего вдруг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2015, 00:04:32 |
|
||
|
Передать файл 3 Gb по цепочке VBS->PHP->MySQL
|
|||
|---|---|---|---|
|
#18+
vkle, Времени отведенное на задачи сжато, поэтому используются максимально автоматизированные решения. Подскажите, как отправить из VBS за один запрос файл и переменную? В HTML файле все выглядит довольно просто : Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Тоже самое на VBS: Пробовал в строке XMLHTTP.Send WebForm.VarBody добавлять переменную - не работает сркипт... Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2015, 23:43:12 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38845123&tid=1833668]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 352ms |

| 0 / 0 |
