Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: большой php файл не выполняется на сервере
Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2013
Помог: 0 раз(а)
Пробую выполниться файл php, размером чуть больше 30 мб.
Сам файл формируется с помощью парсера товаров, служит для правки цен товаров(если цена например упала или подорожала на сайте поставщика)
Файл успешно загружается на сервер, но отказывается выполняться(появляется просто белое окно в браузере).
Если раскидываю данные с файла по 3 файлам по 10 мб то они успешно выполняются.
Пробовал отредактировать php.ini но там не сильно селен, пожалуйста подскажите что нужно править что бы выполнялись большие php файлы.
Покинул форум
Сообщений всего: 247
Дата рег-ции: Окт. 2012
Помог: 7 раз(а)
Вопрос.
корректировка цены для каждого товара выполняется отдельно?
т.е. например.
запрос текущей цены в базе - ровна или нет корректировки - выполнение корректировки.
или же идет например формирование большого пакетного скрипта и его выполнение в конце файла?
Файл вообще не выполняется?
добавь print или консольные метки.
Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2013
Помог: 0 раз(а)
Прикрепляю пример sql запроса для правки цены одного файла. Таким кодом правиться цена на один товар, то есть отдельно по каждому товару.
Запрос цены "запрос текущей цены в базе - ровна или нет корректировки - выполнение корректировки." не производиться в данном "большом файл", так как цены с которыми опубликован товар записаны в парсере, а сам файл формируется на отдельном "локальном сервере" и только при изменении цены. После загрузки и успешного выполнение сформированного sql файл , обычно нажимаю в нем кнопку "записать в базу все с текущими ценами"
Думал как то разбивать на несколько файлы в процессе формировки файла, но нужно делать немного правок не своего скрипта.
На сам php выделено 256МБ (как говорил не силен в php.ini, там строит memory_limit = 256M, вроди этот параметр отвечает за выделенные ресурсы).
Добавлял print и echo но ничего не выводиться, если файл больше примерно 13-15 мб.
Если 10-12 все запускаеться, и вывод происходит.
Если есть возможно подправить php.ini, что бы файл запускался, посоветуйте пожалуйста как и что.
такое впечатление, что памяти не хватает.
Вверху код. Запихни в файл "чтонибдьб.php" и выполни на сервере. где файл грузишь. покажет сколько у тебя реально есть памяти.
может чушь конечно пишу, но ограничения на размер исполняемого скрипта я не встречал, все директивы по памяти касаются именно выполнения, т.е. сколько он сам займет, скрипта, а не его интерпритации. Может здесь корень проблемы.
а вообще конечно подход странный. Не проще ли было вместо файла-страницы сделать именно файл-хранилище данных (txt, xml) c небольшим интерпретатором для вывода и обработки.
Хотя как я понял, это не твой обработчик.
Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012
Помог: 4 раз(а)
[+]
kotyara1979 пишет:
а вообще конечно подход
Он вроде как не странный,а вообще.... Я полностью хоть код и не смотрел,но белее чем на 100% уверен,что этот 30м файлик можно постить на http://govnokod[dot]ru/
Покинул форум
Сообщений всего: 247
Дата рег-ции: Окт. 2012
Помог: 7 раз(а)
likvidator пишет:
kotyara1979 пишет:
а вообще конечно подход
Он вроде как не странный,а вообще.... Я полностью хоть код и не смотрел,но белее чем на 100% уверен,что этот 30м файлик можно постить на http://govnokod[dot]ru/
а собственно по теме есть что сказать?
----- Сделать можно все. Главное одеть каску.
likvidator
Отправлено: 23 Декабря, 2013 - 08:02:24
Посетитель
Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012
Помог: 4 раз(а)
[+]
kotyara1979 пишет:
а собственно по теме есть что сказать?
По теме: если работает разбитый на 3 файла,то пусть лучше правит другие коды и делает в них разбиение,нежели вот в этом копаться....
kotyara1979
Отправлено: 23 Декабря, 2013 - 08:30:38
Частый гость
Покинул форум
Сообщений всего: 247
Дата рег-ции: Окт. 2012
Помог: 7 раз(а)
likvidator пишет:
kotyara1979 пишет:
а собственно по теме есть что сказать?
По теме: если работает разбитый на 3 файла,то пусть лучше правит другие коды и делает в них разбиение,нежели вот в этом копаться....
Думаю вы правы. Это самый короткий путь к решению вопроса.
----- Сделать можно все. Главное одеть каску.
maxy666
Отправлено: 23 Декабря, 2013 - 16:30:19
Новичок
Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2013
Помог: 0 раз(а)
попробовал выполнить код. В итоге получил вывод от You have allocated 1M (1369448) до You have allocated 255M (267707876). Так же попробовал выставить 512 мегабайт в php.ini, но результат такой же - 30 мб файл не выполняеться.
Да возможно там и гавнокод, и можно было бы сделать как то по другому. Просто когда
цена изменилась к примеру на 80-100 товарах сам файл весит где то 3-4 мб, а когда уже большое количество товаров то файл соответственно весит намного больше.
Очень не хотел бы править код, если б можно было обойтись правками в php.ini. Попробую увеличить еще память под php, может что то получиться. Любим советам буду очень рад.
bestbios
Отправлено: 23 Декабря, 2013 - 16:44:18
Гость
Покинул форум
Сообщений всего: 75
Дата рег-ции: Сент. 2013
Помог: 1 раз(а)
Данные нужно в базах хранить а не в php файлах, в крайнем случае в отдельных xml файлах
IllusionMH
Отправлено: 23 Декабря, 2013 - 16:47:39
Активный участник
Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011 Откуда: .kh.ua
Помог: 242 раз(а)
maxy666, а в чем проблема изменения цен по товарам хранить в .csv или любом другом файле, а скрипт обновления сделать в 30 строк?
maxy666
Отправлено: 23 Декабря, 2013 - 16:58:33
Новичок
Покинул форум
Сообщений всего: 14
Дата рег-ции: Март 2013
Помог: 0 раз(а)
bestbios пишет:
Данные нужно в базах хранить а не в php файлах, в крайнем случае в отдельных xml файлах
К сожалению скрипт не мой, а переделывать импорт цен в xml у меня самого не получиться, так как навыков особых не имею(
Цитата:
а в чем проблема изменения цен по товарам хранить в .csv или любом другом файле, а скрипт обновления сделать в 30 строк?
да вы правы, но такая затея автора парсера. Сами товары парсяться и сохраняются в csv, потом заносятся в каталог парсера, из которого производиться отслеживание цены/наличия товара. При изменении цены/отсутствия в наличии товаров на сайтах донорах формируеться php файл с sql запросами. Парсер не сильно продвинутый, самописный одного человека покупал за 50$, по этому наверное имею такие проблемы с ним(
likvidator
Отправлено: 23 Декабря, 2013 - 20:53:31
Посетитель
Покинул форум
Сообщений всего: 416
Дата рег-ции: Март 2012
Помог: 4 раз(а)
[+]
maxy666 пишет:
Парсер не сильно продвинутый
вот честно...это просто говно... вы тратите кучу времени и ресурсов, проще тупо переписать,ну или найти того,кто перепишет... Ибо смотреть 101 миллион строк тут наврятли кто захочет
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.