@xmdy Для поиска объектов по бд использую внутринний конструктор запросов в стиле fluent. Он сам формирует необходимый запрос, подключает нужные таблицы, прописывает условия, выполняет запрос и возвращает данные в указанном виде.
В вашем случае можно прикрутить Apache Solr (очень мощная штука, если ее правильно приготовить :))
@xmdy Есть типы данных, которые хранят в себе список всех возможных атрибутов объекта. У каждого объекта соответственно есть свой тип данных. Таблица objects содержит в себе всего три поля: id, name, type_id. В таблице со значениями каждого объекта есть поля: id, object_id, field_id, string, text, int, float, object. Соответственно, что бы получить все атрибуты объекта можно просто выбрать SELECT * FROM objects_attributes WHERE object_id = 1 и т.д. Т.е. я не получаю сначала возможные атрибуты объекта через тип данных, а сразу получаю все атрибуты, которые есть у объекта. Каждый возможный атрибут так же хранится в бд. В конфигурационном файле хранится список таблиц в которых хранятся значения определенных атрибутов.
В моем случае я не использую динамический набор атрибутов, т.к. в этом нету особой необходимости, но можно реализовать и эту возможность без ущерба производительности.
APC предназначен только для PHP и клиентов для других языков я честно не встречал. С версии PHP 5.5 если я не ошибаюсь он является встроенным opcache движком (APCu).
Вообще вроде как Erlang с Memcached работает без проблем. Соответственно и PHP тоже. Написать интерфейс для взаимодействия с memcached на PHP не сложно, у меня интерфейс составляет всего 92 строки кода.
Для erlang клиент можно найти тут https://code.google.com/p/memcached/wiki/Clients
Когда пользователь авторизуется, то под него создается сессия + уникальный ключ и он подписывается на получение уведомлений от nodeJS под этим уникальным ключом. Когда происходит какое то изменение в данных, то пользователь, который сделал это уведомление отправляет запрос в nodeJS, nodeJS уже анализирует кому отправить уведомление об изменениях (имеется ввиду не разные клиенты, а именно пользователей), потом по каждому пользователю находит все активные сессии и отправляет на каждого клиента уведомление о событии. Клиент получает уведомление и отрабатывает определенный js код, которые выводит нотификации или перестраивает интерфейс.
Внутренняя база знаний для сотрудников сбербанка работает на MODX :) Там невероятный объем данных крутится и иерархия данных там просто огромнейшая. Так что вполне согласен с предложением )
+++++ за gearman :) Использую во внутреннем сервисе рассылок. Там базы по 3 - 6 000 подписчиков в каждом списке. Еще один + этой штуки - это возможность в реальном времени отслеживать выполнение задания. Так например я могу отслеживать в реальном времени сколько писем отправлено и сколько из них уе прочитаны.
Проблема в том, что у меня один пользователь сидит под разными сессиями с разных клиентов: компьютеры, телефоны.
Нужно, что бы на всех клиентах данные обновлялись тут же. Если использовать ваш подход, то при обновлении данных на одном клиенте, остальные эти обновления не получат, т.к. он успел получить их быстрее чем остальные. Делал привязки к разным сессиям, но в итоге объем данных в mysql для пользователей разрастался до огромнейших размеров, т.к. обновления происходят очень часто в итоге выборки обновлений превратились в задержки в работе интерфейса, а для сервиса очень важна скорость.
Я бы еще посоветовал почитать вот эту статью на хабре habrahabr.ru/post/226707/. Там очень четко расписаны внутренности PHP относительно работы с переменными, выделением памяти и прочими прелестями. Я оттуда узнал несколько новых и полезных вещей!
@opium согласен. Есть товарищи, которые из 8 часового рабочего дня делают "перерывы" на 7 из них. Тут уже нужно либо брать в свои руки тайм-менеджмент такого безответственного сотрудника, либо увольнять. Но для начала можно разобраться в проблеме ) Чаще всего такое возникает из-за монотонности задач, из-за того, что сотрудник длительное время вкалывал без остановки или просто его давно никто не дрючил ) У меня так часто бывает...марафон на пару-тройку суток, а потом пару дней вообще работать не можешь. Вот руки не поднимаются и все.
Если это битрикс, то можно автоматизировать процесс формирования ссылки "URL -> file". Там есть инструменты, типа событий, которые можно использовать для формирования подобного списка. Если поподробней опишите ситуацию, то возможно я смогу вам помоч. Под подробным описанием я имею ввиду, организацию структуры сайта.
Если я его буду использовать для скачивания торрентов, то это называется "бесхребетность", а если он используется по назначению - для работы или посидеть на хабре в 15 минутном перерыве, то ничего криминального в этом нету. И все таки я категорически не согласен с тем, что вполне нормально регистрировать акк. в соц. сети на корпоративную почту, если это напрямую не связано с вашей рабочей деятельностью.
А вы на корпоративные деньги тоже покупаете еду домой, например? Или корпоративной канцелярией пользуетесь для решения своих домашних проблем? Зачем использовать рабочую почту для своих личных целей? Я вот третий год работаю в компании и четко распределяю где использовать рабочую почту, а где личную и никаких проблем не возникает.
Дак смотри...у тебя получается, что первой директорией является razdel и только потом 2.php, через file_exists или is_dir проверяешь наличие директории, если есть, то из нее цепляешь нужный тебе файл, если нету, то кидаешь 404. Я не вижу особой проблемы использовать is_dir или file_exists, если конечно посещаемость не бешенная.
Пересборкой Apache и PHP я сразу занялся, как только проблема была обнаружена. MariaDB крутится на другом сервере. После пересборки, проблема осталась. Отключил cgi-bin и все! Проблема исчезла! )
Для начала нужно приобрести инструмент типа ZendGuard или IonCube. После установки и обфускации кода, ставятся соответствующие расширения для PHP. На выходе получаешь обфусцированный код, который работает ТОЛЬКО с расширениями для декодинга. Минус - нужно на каждом хосте ставить расширения для декодинга.
И правда. Есть вероятность, что скрипт запускался в режиме cli, но каким образом - не понятно. На всякий случай перенастроил ini файл для cli режима. Будем надеяться, что подобных проблем не будет! Спасибо за наводку!
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.