Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для useruser
166 / 90 / 38
Регистрация: 29.06.2015
Сообщений: 1,100

Как сделать независимое выполнение нескольких фрагментов кода?

15.02.2018, 09:01. Показов 997. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В базе данных есть несколько записей, содержащих php код.
Этот код нужно выполнить независимо. То есть один код никак не должен влиять на выполнение остальных.
Например - если создать три отдельных php файла и их "запустить" то мы решим задачу.

В моем примере, предполагается использование одного php файла. Который будет запускаться из cron.
Создать файл для каждого пользователя и добавить его в cron не рационально.

Cron будет запускать файл, который будет в цикле вызывать php код из записи БД.
Но уже тут возникает проблема. Мало того, что все объекты не будут уничтожены т.к. скрипт работает, но и некоторые конструкции могут просто остановить выполнение скрипта.

Пример
PHP
1
2
3
4
5
6
7
8
$code_1=' echo "Я php код 1 <br>"; $a=0;';
eval ($code_1);
$code_2=' echo "Я php код 2 "; if (isset($a))  echo "В моем коде уже есть переменная а <br>"; ';
eval ($code_2);
$code_3=' echo "Я php код 3 <br>"; exit(); ';
eval ($code_3);
$code_4=' echo "Я php код 4 <br>"; ';
eval ($code_4);
Результат
Я php код 1
Я php код 2 В моем коде уже есть переменная а
Я php код 3

Как сделать независимое выполнение нескольких фрагментов кода?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.02.2018, 09:01
Ответы с готовыми решениями:

Динамически скомпоновать страницу из нескольких фрагментов
Здравствуйте! У меня такой вопрос: нужно динамически скомпоновать страницу из нескольких фрагментов,т.е.: на фтп есть 4 страницы: 1...

Независимое выполнение скрипта
Прошу о помощи!) Пишу игру, нужно вызвать example.js несколько раз, но так, чтобы каждый последующий раз &quot;не мешал&quot; выполнению...

Как осуществить поиск и замену сразу нескольких фрагментов текста
Вечер добрый! Простите за глупый вопрос, но не смогла найти ответ в интернете в книгах и самоучителях по Excel (может, плохо искала)....

5
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
15.02.2018, 13:12
да как угодно
самое простое - 3 разных функции
но можете и на классы поделить

зы: eval()
1
21 / 21 / 5
Регистрация: 26.12.2013
Сообщений: 177
15.02.2018, 14:10
Даже не представляю, что за монстра ты пишешь.

полудух правильно написал, функции или классы.

Код в базе данных, Ыы)
0
 Аватар для useruser
166 / 90 / 38
Регистрация: 29.06.2015
Сообщений: 1,100
15.02.2018, 20:41  [ТС]
Цитата Сообщение от полудух Посмотреть сообщение
самое простое - 3 разных функции
Интересное решение.
А если код, внутри этой ф-ции, будет с ошибками? Цикл продолжит выполнять код следующих ф-ций или остановится на ошибке?

Цитата Сообщение от полудух Посмотреть сообщение
зы: eval()
А разве можно по другому выполнить код php код, хранящийся в БД?
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,230
15.02.2018, 21:50
можно его там не хранить, это идиотизм
забыть про eval() навсегда.
1
123 / 77 / 33
Регистрация: 05.03.2013
Сообщений: 449
19.02.2018, 15:42
Запусти в разных процессах, например так:

PHP
1
2
3
4
5
6
7
8
$code_1=' echo "Я php код 1 <br>"; $a=0;';
shell_exec("php -r '$code_1'");
$code_2=' echo "Я php код 2 "; if (isset($a))  echo "В моем коде уже есть переменная а <br>"; ';
shell_exec("php -r '$code_2'");
$code_3=' echo "Я php код 3 <br>"; exit(); ';
shell_exec("php -r '$code_3'");
$code_4=' echo "Я php код 4 <br>"; ';
shell_exec("php -r '$code_4'");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.02.2018, 15:42
Помогаю со студенческими работами здесь

[Mono] Как сделать независимое приложение (без FrameWork)
Как сделать не зависимое от FrameWork-а приложение? P.S. Если хотите ответить что никак, то скажу что можно и в нете постоянно...

Как сделать выполнение определенной части кода python, при вводе определенного значения
Как сделать выполнение определенной части кода python, при вводе определенного значения Нужно, чтобы было примерно так: После запуска...

Как ускорить выполнение кода? (Получение цвета пикселя, сравнение и выполнение действия)
Всем привет. Нужна консультация экспертов) Программа такая. Есть пиксель на экране, в нем то появляется яркий цвет, то темный (лампочка...

Сделать выполнение функции для нескольких чисел
Есть код, переводящий из двоичной в десятичную, но только 1 введенное число. Как сделать, чтобы он переводил все введенные числа? ...

Выполнение "асинхронного" кода на нескольких ядрах
Вопрос таков: Насколько мне известно, код использующий Begin*/End* на самом деле не выполняется на нескольких ядрах, а только на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru