Мы принимаем к оплате:

«Подарочный сертификат» от нашего Учебного Центра – это лучший подарок для тех, кто Вам дорог! Оплате обучение и подарите Вашим родным и близким обучение по любому из курсов!!!

«Сертификат на повторное обучение» дает возможность повторно пройти обучение в нашем Учебном Центре со скидкой 1000 рублей!

А также:


Php как запустить скрипт


Как сделать PHP скрипт запустить другой PHP скрипт

Я пытаюсь сделать то же самое, что и в предыдущем вопросе Python, но в PHP. См. мой предыдущий вопрос (вопрос)

PHP скрипт из предыдущего вопроса что-то делает, а затем запускает другой PHP script на том же сервере, что-то делает, а затем завершает работу (а второй script продолжает свою работу). Как достичь этого?

Обратите внимание, что PHP script одновременно является веб-страницей (так что, возможно, мы можем использовать его, как в предыдущем вопросе, где ответ на мой вопрос был фрагментом, который заставлял python просто открывать url вместо запуска подпроцесса... хотя у меня нет подсказки, если эта полезная информация, может быть, она отличается от PHP, я не слишком опытен в PHP)... и что я хочу сделать каждый скрипт независимым - так что если первый PHP скрипт завершит Я бы хотел, чтобы второй PHP скрипт продолжал работать, даже если первый завершился.

Как вы думаете, самый элегантный способ сделать это? Будет ли повторяться iframe, или я должен делать это по-другому?

задан Phil 10 июля '09 в 18:05

источник поделиться

Как запустить PHP-скрипт в фоновом режиме после отправки формы?

проблема У меня есть форма, которая при отправке запускает базовый код для обработки представленной информации и вставляет ее в базу данных для отображения на веб-сайте уведомления. Кроме того, у меня есть список людей, которые подписались на получение этих уведомлений по электронной почте и SMS-сообщению. Этот список тривиально, как момент (всего лишь около 150), однако этого достаточно, чтобы потребовать больше минуты, чтобы перебирать всю таблицу подписчиков и отправлять более 150 писем. (Письма отправляются индивидуально по запросу системных администраторов нашего почтового сервера из-за массовых политик электронной почты.)

В течение этого времени человек, отправивший предупреждение, будет сидеть на последней странице формы в течение почти минуты без какого-либо положительного подкрепления, чтобы их уведомление было отправлено. Это приводит к другим потенциальным проблемам, у всех, у которых есть возможные решения, которые я чувствую, являются менее идеальными.

  1. Во-первых, плакат может подумать, что сервер отстает, и снова нажмите кнопку «Отправить», заставив скрипт начать работу или запустить дважды. Я мог бы решить это, используя JavaScript, чтобы отключить кнопку и заменить текст, чтобы сказать что-то вроде «Обработка ...», однако это не так идеально, потому что пользователь все равно будет застревать на странице для длины выполнения скрипта. (Кроме того, если JavaScript отключен, эта проблема все еще существует.)

  2. Во-вторых, плакат может закрыть вкладку или браузер преждевременно после отправки формы. Сценарий будет работать на сервере до тех пор, пока он не попытается вернуться к браузеру, однако, если пользователь затем просматривает любую страницу в нашем домене (пока скрипт все еще работает), браузер зависает, загружая страницу, пока сценарий не закончится , (Это происходит только тогда, когда закрывается вкладка или окно браузера, а не все приложения браузера.) Тем не менее, это не так идеально.

(Возможное решение Я решил, что хочу разбить часть «email» скрипта в отдельный файл, который я могу позвонить после того, как уведомление было опубликовано. Первоначально я думал о том, чтобы поместить это на страницу подтверждения после успешного уведомления. Однако пользователь не будет знать, что этот скрипт запущен, и любые аномалии не будут очевидны для них; Этот скрипт не может потерпеть неудачу.

Но что, если я могу запустить этот скрипт в качестве фонового процесса? Итак, мой вопрос заключается в следующем: как я могу выполнить скрипт PHP для запуска в качестве фоновой службы и выполнить полностью независимую от того, что пользователь сделал на уровне формы?

EDIT: Это невозможно сделать. Он должен запускать момент отправки формы. Это высокоприоритетные уведомления. Кроме того, системные администраторы, работающие на наших серверах, запрещают работу кронов не чаще, чем 5 минут.

Как я могу запустить мой PHP скрипт в определенное время каждый день?

Если вы используете cPanel на своем хосте, вы можете перейти в Advanced → cron jobs. Затем внутри вы можете установить команду задания cron следующим образом:

wget http://yoursite.com/yourfile.php

который http://yoursite.com/yourfile.php должен указывать на нужную функцию. Вы также можете установить временной интервал повторения.

Этот способ yourfile.php вызывается в определенные интервалы.

ответ дан VSB 15 окт. '16 в 0:36

источник поделиться

Функция CronJobs часто отключается на большинстве бесплатных или дешевых хостингов Linux. Если вы можете использовать cron, вы можете использовать это.

Альтернатива:

  • Используйте такие сервисы, как: http://www.setcronjob.com/ (многие существуют, просто поиск в google), чтобы запланировать бесплатную задачу (1 раз в час).
  • Если вам нужно немного больше сока, вы должны посмотреть в движок Google cron. В cron вы просто выполняете простой асинхронный запрос для вызова своей страницы.

ответ дан Alfred 30 дек. '11 в 2:22

источник поделиться

Вы можете легко использовать свою базу данных для сохранения последнего выполнения script.

При каждом выполнении определенной страницы вы запускаете script, который выполняет следующие действия:

  • Проверьте, если более 8 часов (пример)

  • Проверяет в базе данных, если script уже выполнен

Если выполнено: ничего не делает.

Если не выполнено: запускается и обновляется дата последнего выполнения в базе данных.

ответ дан user2267379 12 сент. '15 в 1:13

источник поделиться

Если у вас есть собственный сервер, вы можете запустить cronjob (unix/linux) или запланированную задачу (windows).

Если ваше приложение/сайт размещено на общем хосте, который не предлагает cronjobs, вы используете http://www.onlinecronjobs.com/

Я не тестировал этот, но если вы google немного (fee conjobs), вы найдете много таких. Они будут вызывать определенный URL-адрес, соответствующий фиксированному графику. Большинство из этих устройств имеют фиксированный набор ip addeses, поэтому вы можете перенести сценарий из вызова кем-либо еще.

ответ дан Oliver A. 30 дек. '11 в 2:15

источник поделиться

Как запустить PHP скрипт из командной строки с помощью MAMP?

Другим способом, который может быть немного более чистым в отношении версий PHP, является создание псевдонима в вашем профиле bash, который указывает на конкретный двоичный файл php, который вы хотите запустить, когда вы запускаете такие вещи, как композитор или другой cli инструменты. Это позволяет избежать некоторых проблем с совместимостью библиотеки и php.ini с установленной версией php в OSX.

Например, если вы хотите указать на php 5.4.1 в MAMP, отредактируйте файл .bash_profile в выбранном вами редакторе (nano, vi и т.д.):

# nano ~/.bash_profile

Добавьте это ниже своего утверждения PATH:

alias php=/Applications/MAMP/bin/php/php5.4.10/bin/php

Сохранить и выйти (CTRL + X в nano,: wq в vi). Выйти из терминала. В следующий раз, когда вы попытаетесь вызвать php из cli, вы будете использовать версию 5.4.10, установленную с помощью MAMP.

Не забудьте обновить этот путь, если вы обновите MAMP с помощью более новой версии PHP.


Смотрите также



Компьютерные курсы по направлениям:

Для начинающих


A

Компьютер для начинающих: Word, Excel, Access и другие программы!

Графические пакеты


B

Популярные пакеты Adobe Photoshop, CorelDraw, ArchiCAD, AutoCAD и другие!

WEB + анимация


C

Курсы по созданию сайтов, WEB-дизайну и крутой анимации в Adobe Flash!

Бухгалтерия + делопроизводство

Сетевые технологии


E

Курсы сборки ПК, системных администраторов и защиты информации!