У Вас в настройках PHP register_globals=ON? какеры идут к Вам!!!

Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
Loading

Go Back   форум vBSupport.org > > >
Register Изображения Меню vBsupport Files Manager Аллея Звёзд Реклама на форуме Search Today's Posts Mark Forums Read
  • Мемберка
  • Администраторам
  • Premoderation
  • For English speaking users
  • Изменения в правах
  • Каталог Фрилансеров
Пароли на скачивание файлов в Member Area меняются автоматически каждый день
Если вам нужно скачать какой то скрипт, за паролем ко мне в ЛС
привет какирам kerk
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Не можете скачать вложение?
Изменения в правах групп пользователей
внимательно читаем эту и эту темы
Короткая версия - тут
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

 
 
Первый пост
Old  
kerk
k0t
 
kerk's Avatar
Default 1

для поиска в модулях, можно использовать отличный хак - SIP (Search in Plugins)
по моему у Лью в разделе лежит или в хаках 3.8
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
Luvilla
Блондинка с электро......
 
Luvilla's Avatar
Default 1

Quote:
Originally Posted by Core dumped View Post
А нет ли компонента switcher отдельно, подобно указанному в первом сообщении phpbrew?
понятия не имею

Quote:
Originally Posted by Core dumped View Post
Если есть возможность перенести тему в более корректный раздел - буду признателен.
а Вы определитесь, где будем бить кувалдой, по пхп или по вобле?
если по вобле - можете просто показывать текст ошибки, будем разбираться
если настаиваете на смена пхп - да, перенесу в "системное администрирование"

Quote:
Originally Posted by Core dumped View Post
Благодарю за ссылку, искал немного по другой методологии, конкретно по словам "phpbrew" и "деплой". А ларчик оказывается просто открывался.

прикольно...
здесь обычно всё происходит примерно так: человек видит у себя ошибку и просто копипастит её в пост с криком "Всё сломалось!" с вопросом "как починить"
поэтому поиск по конкретным словам из текста конкретной ошибки однозначно более результативен, чем использование довольно экзотичного deploy и уж совсем экзотичного phpbrew

===
Quote:
Originally Posted by kerk View Post
для поиска в модулях, можно использовать отличный хак - SIP (Search in Plugins)
по моему у Лью в разделе лежит или в хаках 3.8
есть у меня, и есть где-то ещё другая версия
тот, что у меня в разделе, надо править под новые пхп, он тоже использует майсиквел, а не майсиквели
всё руки не доходят...
 
Old  
Smalesh
Эксперт
Default 1

Quote:
Originally Posted by Luvilla View Post
понятия не имею
Там 5.2 отдельно ставится, ручками (6-й центос, да), подключен как cgi. А переключается классическим аля
Code:
#!/bin/sh
PHPRC=/usr/local/lib
export PHPRC
export PHP_FCGI_MAX_REQUESTS=1000
export PHP_FCGI_CHILDREN=20
exec  /usr/bin/php-cgi
 
Old  
sejd
Эксперт
 
sejd's Avatar
Default 0

Я на локалку ставил на PHP 5.6.24, куча всяких ошибок было в процессе установки, однако все встало без проблем.
 
Old  
Smalesh
Эксперт
Default 1

Quote:
Originally Posted by sejd View Post
куча всяких ошибок было в процессе установки
- Доктор, у меня болит
- Что болит?
- Не покажу (с) kerk )))
 
Old  
eska
Специалист
 
eska's Avatar
Default 2

Не понимаю я извращения.
Нужна поддержа php 5.5?
Ну так поставьте актуальную версию vbulletin - на текущий момент это 3.8.9, релиз которой официально выпущен на прошлой неделе.
В ней как раз официально поддерживается php 5.5.
Вот такой деплой vb 3.8 должен быть в 2015 году )
 
Old  
Core dumped
Продвинутый
 
Core dumped's Avatar
Default 0

Quote:
Originally Posted by Luvilla View Post
вот честно - ерунда это
там всего-то десяток строк в ините (вобловском) и одна в класс_коре
В моем случае дело чуть сложнее, так как правки возможны даже в самих файлах ядра. Более того, рутинные действия по ручной правке в моем случае придется повторять в индивидуальном порядке для всех шести проектов, так как они между собой различаются и нельзя просто сделать изменения в одном и в другое через patch накатить. Тяжелое legacy, деревянные плагины, прибитые гвоздями к полу...


Quote:
Originally Posted by Luvilla View Post
сколько Вы используете продуктов, в которых есть "=& new"? сто? тысячу?
Самое печальное, что довольно много. Как минимум QueryBuilder кастомный так инициализируется. Не могу сказать точно сколько проектов его использует, но прилично + ситуация осложняется тем, что все это добро хранится в mysql, что совсем печально и не позволяет пользоваться привычными инструментами
Quote:
Originally Posted by Luvilla View Post
другое дело, что в продуктах проблема может быть не только с =& new
там может быть и соединение с майсиквелом напрямую прописано, а если продукты совсем старые, для 3.6 - то бывает совсем тоскливо...
но, мне кажется, проще пройтись по списку продуктов, наверняка для большинства из них есть обновления, чем держаться за пхп 5.2
Ну, пройтись-то можно, вот только в публичном доступе из них были максимум спасибы (Кстати, надо тыкнуть, благодарю за отклики, уже и забыл, что на форумах так принято). Остальные были написаны либо доброжелателями, либо вообще мною (Каюсь, ну а кто в 2007 году не писал на пхп?). С тех пор куча воды утекло и все авторы, ровно как и знания, давно улетучились.
В свое время пользовался этим форумом для поиска информации, вот сейчас вспомнил - авось кто сталкивался с такой проблемой, возможно разработали решение какое.

Quote:
Originally Posted by kerk View Post
для поиска в модулях, можно использовать отличный хак - SIP (Search in Plugins)
по моему у Лью в разделе лежит или в хаках 3.8
Да думаю, тут уж проще напрямую через консоль mysql искать. Это хотя бы автоматизируется хоть как-то, хотя с заменой, думаю, проблем прилично наберется.

Quote:
Originally Posted by Luvilla View Post
понятия не имею
Жаль. Полезный был бы инструмент, решил бы сразу множество проблем.


Quote:
Originally Posted by Luvilla View Post
а Вы определитесь, где будем бить кувалдой, по пхп или по вобле?
если по вобле - можете просто показывать текст ошибки, будем разбираться
если настаиваете на смена пхп - да, перенесу в "системное администрирование"
Ну, хотелось бы по php, конечно. Это в моем представлении вариант наименьшего сопротивления, вопрос лишь в инструментарии. Но видимо никто не заморачивался созданием контейнеров с древними php кроме меня, так что придется, видимо, по vbulletin. Это неприятно.


Quote:
Originally Posted by Luvilla View Post
здесь обычно всё происходит примерно так: человек видит у себя ошибку и просто копипастит её в пост с криком "Всё сломалось!" с вопросом "как починить"
поэтому поиск по конкретным словам из текста конкретной ошибки однозначно более результативен, чем использование довольно экзотичного deploy и уж совсем экзотичного phpbrew
Ну, конкретного текста, как такового нет, тут скорее вопрос более общий и касается deprecated функций в принципе. Разработчики php, сколько я вижу, любят их добавлять с каждым релизом, что изрядно прибавляет головной боли людям, которым потом это все разворачивать. DevOps поневоле, короче, хотелось быстренько все развернуть, а в итоге надо править код аж целый код ядра, да ещё и для каждого проекта. Это обстоятельство ввергает меня в ужас и панику)

Quote:
Originally Posted by Smalesh View Post
Там 5.2 отдельно ставится, ручками (6-й центос, да), подключен как cgi. А переключается классическим аля
Code:
#!/bin/sh
PHPRC=/usr/local/lib
export PHPRC
export PHP_FCGI_MAX_REQUESTS=1000
export PHP_FCGI_CHILDREN=20
exec  /usr/bin/php-cgi
Насколько я понимаю для апача этого будет маловато, там какие-то биндинги ещё проставляются во внутренние каталоги апача. Не претендую на достоверность, понятия не имею как именно он запускает интерпретатор, с этим стеком в принципе нигде кроме как для этих легаси проектов не работал и там вся настройка обычно сводилась к "поставить из системных пакетов и молиться, что оно заработает)".
Кроме того, 5.2 у меня не получилось собрать из сурсов при помощи phpbrew и, насколько я понял из гугла, для ubuntu 14.04 это общая проблема и без патча там ничего работать не будет. Поэтому и хотелось найти инструмент, который в себе содержит собственный install скрипт, включающий необходимые патчи.

Quote:
Originally Posted by eska View Post
Не понимаю я извращения.
Нужна поддержа php 5.5?
Ну так поставьте актуальную версию vbulletin - на текущий момент это 3.8.9, релиз которой официально выпущен на прошлой неделе.
В ней как раз официально поддерживается php 5.5.
Вот такой деплой vb 3.8 должен быть в 2015 году )
Не, поддержка ради поддержки не нужна. Мне в принципе все-равно, под какой конкретно версией интерпретатора оно будет запущено, так как интерпретатор существует сугубо внутри контейнера и в системе его нет вообще. Хочется один раз контейнер настроить и остальные просто развернуть уже через lxc-clone, с минимальными изменениями.

Что касается обновления, то я написал в первом сообщении, что для меня это совсем не вариант. Во-первых потому, что лицензия на обновления закончилась раньше выхода 3.8.9, во-вторых потому, что часть этих лицензий в виде логинов/паролей к vbulletin.com уже и вовсе утеряна за давностью лет, ну и в-третьих, самое для меня важное - это отсутствие автоматизации этого процесса.
У меня есть шесть инстансов 3.8.4 с возможно измененным ядром (А возможно и не измененным, кто же сейчас упомнит) и обновлять каждый через веб-интерфейс - это вообще убийственно. Я привык к чему-нибудь попроще, что-нибудь типа pip install -U django==1.8.2 и оно само накатилось и каши не просит, легко автоматизировать. А с веб-интерфейсом, да ещё и потенциальными проблемами из-за правленных сурсов - не) Слишком это сложно.
Кроме того, это не спасет от проблем плугинов, которые под 5.5 адаптировать попросту некому.


========

В целом огромная благодарность всему сообществу за внимание к проблеме, к сожалению решения, подходящего под мою печальную ситуацию, видимо обнаружить не удалось.
Идеальным решением было бы все же найти аналог phpbrew, либо заставить оный работать с 5.2 веткой. Но, видимо, в 2015 году это слишком смелое желание. На 5.3 с раздутым error_log'ом все работает, конечно, но раз уж взялся заворачивать каждый инстанс в отдельный контейнер хотелось все сделать по уму. Эхе-хе.

Видимо придется писать какой-нибудь унылый анализатор кода который данные конструкции
Code:
=& new
(Вроде, кстати, нельзя и объекты по ссылке передевать, то бишь какой-нибудь
Code:
new SomeClass(&$vbulletin);
тоже уже не валидно должно быть в 5.3, насколько я понимаю) будет автоматически находить и заменять, включая базу данных.
Вот и сэкономил, называется, 20 баксов на отказе от DO. Даже не знаю теперь, если все же сподвигнусь и получу какой-нибудь результат, то попробую поделиться с сообществом, выложу исходники на github. Но скорее всего дело ограничится разворачиванием всего и вся под 5.3, а error_log отключу, ну или там буду по крону чистить (А что, раз колхоз, то по полной). Слишком жалко времени на такое неблагодарное дело.

Топик пока, если можно, не закрывайте, может найдется человек со схожими с моими проблемами и подскажет что на тему решения проблемы со стороны интерпретатора, а не приложения. Ну, а вдруг, я все же немного верю в чудеса



Оффтоп
 
Old  
Smalesh
Эксперт
Default 1

Quote:
Originally Posted by Core dumped View Post
Во-первых потому, что лицензия на обновления закончилась раньше выхода 3.8.9, во-вторых потому, что часть этих лицензий в виде логинов/паролей к vbulletin.com уже и вовсе утеряна за давностью лет,
Если там уже стоит 3.8.4, то насколько я помню, лицуха на всю 3.8.x идет. Раньше было год и точка. Дистрибутив можно брать отсюда, лицензия к домену, а не к дистрибутиву.
 
Old  
Core dumped
Продвинутый
 
Core dumped's Avatar
Default 3

Quote:
Originally Posted by Luvilla View Post
а Вы определитесь, где будем бить кувалдой, по пхп или по вобле?
Видимо все же кувалдой придется по вобле, как это не прискорбно.

Пока что за вечер наваял такое решение: https://github.com/dumpedc/vbfixer
Внутри оно примитивное как сибирский валенок, это вовсе не статический анализатор кода, строго говоря он и вовсе не знает, что анализирует код, не говоря уже о контексте выполнения. В качестве лексера используется лексер синтаксиса php из хайлайтера pygments (http://pygments.org/). Умеет определять и править пока что только два случая:
Code:
=& new
и
Code:
new SomeClass(&$vbulletin);
Во втором случае все несколько сложнее и, так как анализатор ничего не знает о контексте выполнения, поиск объектов, которые нельзя передавать по ссылке, осуществляется сугубо по предзаданному списку. На данный момент это переменные $vbulletin и $db. Сразу же вопрос к знатокам: что я упустил? Какие ещё глобальные переменные обычно передают по ссылке в vBulletin?

Инструкция по использованию прилагается в readme.md репозитория на github. По умолчанию скрипт работает в интерактивном режиме и на каждое предложение замены будет выдавать соответствующий confirm. Выглядит это примерно так:


Можно запустить скрипт с ключем -s, когда он все сделает по тихому, но оставит рядом с каждым измененным файлом UNIX patch файл, позволяющий быстро откатить изменения. Выглядит такой файл примерно так:
Оффтоп

Честно скажу, что на реальных проектах пока не тестировал, тестировал на каком-то практически идентичном натуральному дистрибутиве vBulletin 3.8.4, который нашел в закромах.
Буду очень признателен, если люди с полноценной локальной установкой форума попробуют скрипт и отпишутся о резальтатах. Так же буду крайне благодарен за советы про интроспекции, в частности относительно передаваемых по ссылке объектов вроде $vbulletin и $db.

Базу данных mysql анализатор пока не смотрит, в основном потому, что у меня попросту нет локальной установки mysql и мне пока что накладно её делать. Но я постараюсь, так как без правки модулей фикс все-равно нельзя назвать полным.

Если вдруг кто захочет помочь и возникнут вопросы - пишите, постараюсь ответить. Хочется верить, что дело довольно полезное.
А если есть кто совсем смелый и готовый заглянуть в исходник, то это можно сделать на github - https://github.com/dumpedc/vbfixer/b...ter/vbfixer.py . Тут все довольно печально, написано на скорую руку и содержит изрядное количество отладочных комментариев. Чистить код как-то не было ни времени, ни желания, но, тем не менее, там все вроде довольно прозрачно для разработчиков, знакомых со скриптовыми языками и python в частности. Можно в принципе слать pull-реквесты и делать форки Хотя вряд ли кому оно надо.

Core dumped добавил 24.06.2015 в 00:46
Добавил возможность автоматического исправления и внутри кода модулей из базы данных. Это возможно, если скрипт найдет в каталоге валидный config.php с параметрами подключения, либо если запустить скрипт непосредственно на сам конфиг (python vbfixer.py /path/to/config.php).
Замена в базе данных производится исключительно в интерактивном режиме, даже если указан ключ -s. Дело в том, что для базы данных patch-файл не создашь и не применишь, так что следите внимательно за тем, что фиксер пытается заменять. Если бы фиксер делал автозамены по тихому, то можно было бы получить проблемы без возможности отката, что недопустимо для такого рода софта.

Не знаю, насколько я корректно это сделал, анализатор анализирует код из колонки phpcode таблицы plugin и, в случае необходимости, пересохраняет это значение. Скорее всего этого достаточно. Если нет, то очень прошу гуру сообщить об этом, чтобы можно было внести правки в фиксер и сделать более корректную автозамену.

Так же расширил readme.md, в том числе более подробно описал процесс установки и использования скрипта:
Оффтоп
Судя по отсутствию реакций, возможно именно этот пункт ранее отталкивал от попытки попробовать. Теперь должно быть проще, буду очень признателен, если кто-либо отпишется о результатах.


===

Сам только что прогнал на одном сравнительно небольшом проекте, вроде все работает, после запуска скрипта ошибки в error.log больше не сыпятся. Ну, по крайней мере в первые полчаса, что в принципе уже показатель. Версия интерпретатора - 5.3.29.
Несмотря на малый размер проекта замен предлагалось более двухсот, у меня аж рука устала жать enter. Так что в ручном режиме это было бы прямо совсем невыносимо, видимо все же не зря я потратил два вечера на автоматизацию. С остальными своими инстансами пока не пробовал, так как ещё не переносил/разворачивал на новую машину. Этим как-то совсем нет желания сейчас заниматься, видимо в лучшем случае займусь в выходные. Тогда же и отпишусь о результатах работы фиксера.

А пока, конечно, было бы неплохо все же собрать какие-нибудь отзывы от сообщества, если вам вдруг не лень и надоели унылые ошибки в error.log - vbfixer должен решить вашу проблему. Теоретически

Last edited by Core dumped : 06-24-2015 at 01:46 AM. Reason: Добавлено сообщение
 
Old  
Core dumped
Продвинутый
 
Core dumped's Avatar
Default 0

Всем ещё раз спасибо за советы.
Вроде все контейнеры поднял, со всеми проектами удалось справиться через vbfixer, ошибок, по крайней мере такого толка, больше нет, error.log не раздувается.

Жаль, что не удалось услышать ответов на последние вопросы, но видимо и без них этого примерно достаточно, по крайней мере для запуска на версии php 5.3. С другими не проверял.

Так же не нашел как править свои сообщения, баг или фича? Если фича, то кто из могучих, вставьте пожалуйста в первый пост:
Что вставить
 
 

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 02:00 PM.


Powered by vBulletin® Version 3.0.7
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.