Мой проект требует 3 php-скриптов, которые выполняются с условиями if-else.Первый скрипт загружается на страницу индекса сайта, чтобы проверить, установлено ли условие, и если это так, он вызывает второй скрипт.Второй сценарий проверяет, установлены ли другие условия, и, наконец, вызывает последний сценарий, если все хорошо.
Теперь я мог бы сделать это, просто включив сценарии в оператор if, но после получения конечного результатаявляется ресурсом, занимающим дамп MySQL, мне нужно, чтобы он запускался независимо от исходной страницы триггера.
Кроме того, эти сценарии должны продолжать выполнять свои действия после запуска независимо от действий пользователя на странице индекса.
И последнее: он должен работать на win и nix.
Как бы вы это сделали?
Имеет ли смысл следующий код?
if ($blah != $blah-size){
shell_exec ('php first-script.php > /dev/null 2>/dev/null &');
}
//If the size matches, die
else {
}
Заранее спасибо за миллион.
ОБНОВЛЕНИЕ: на тот случай, если кто-то другой заключит такую же сделку.Кажется, что в php есть ошибка при запуске скриптов как cgi, но командная строка в Apache работает со всеми протестированными версиями.
См. Ошибку https://bugs.php.net/bug.php?id=11430
, поэтому вместо этого я вызываюскрипт такой:
exec("php-cli mybigfile.php > /dev/null 2>/dev/null &");
Или вы можете назвать его оболочкой.Он работает на системах nix, но мои локальные окна безнадежны, поэтому, если кто-нибудь запускает его на Windows, и он работает, пожалуйста, обновите его.