Мне нужно определить, загружается ли файл PHP через cron или в командной строке кода. Как я могу это сделать?Как определить, загружен ли файл PHP через cron/command line
ответ
Если у вас есть контроль над cron или командой, считаете ли вы, что передаете аргумент командной строки и читаете его с помощью $_SERVER['argv'][0]
?
* * * * * /usr/bin/php /path/to/script --cron
В сценарии:
<?php
if(isset($_SERVER['argv'][0]) and $_SERVER['argv'][0] == '--cron')
$I_AM_CRON = true;
else
$I_AM_CRON = false;
Самый надежный и исчерпывающий способ проверить, где ваш скрипт запускается известным мне
Ни это, ни какой-либо из другие перечисленные здесь перечисленные методы, однако, дадут вам различие между «обычным» режимом CLI и вызовом cron. Идея аргумента командной строки gahooa, вероятно, является лучшим и самым надежным решением.
Я не уверен, что что-то изменилось за последние несколько лет, но в моей системе (CentOS 6.6 , PHP 5.4.38, запуск Litespeed), есть различие. 'php_sapi_name()' возвращает 'cli' при запуске из командной строки. Он возвращает 'cgi-fcgi' при запуске через cron. – rinogo
Вы можете проверить константу PHP_SAPI
, чтобы проверить, если используется интерпретатор CLI:
$is_cli= PHP_SAPI == 'cli';
Несмотря на то, что здесь не имеет значения, очень мало причин использовать оператор '=='. – Nathaniel
Это один простой способ. Некоторые элементы массива $_SERVER
устанавливаются только при вызове из HTTP. Таким образом, вы можете:
if(!isset($_SERVER['REQUEST_METHOD'])){
// from cron or command line
}else{
// from HTTP
}
Другие включают в себя: $_SERVER['HTTP_HOST']
- 1. Как определить, загружен ли файл FTP
- 2. Как определить, не загружен ли загруженный файл?
- 3. Как определить, загружен ли загруженный файл excel, который загружен?
- 4. Как определить, загружен ли файл JavaScript?
- 5. Как определить, что файл уже загружен
- 6. PHP файл загружен, не загружен
- 7. jQuery: Как определить, загружен ли элемент LI?
- 8. Определить, загружен ли класс Java
- 9. Можно ли определить, был ли пользователь открыт или загружен файл?
- 10. GAE/J - Blobstore - как определить, не загружен ли файл
- 11. Как определить, был ли загружен такой файл или нет?
- 12. Как определить, какой файл .emacs был загружен?
- 13. Есть ли способ определить, полностью ли загружен внешний файл javascript?
- 14. PHP проверить, был ли файл полностью загружен
- 15. Проверьте, загружен ли файл
- 16. Проверьте, загружен ли файл
- 17. Как определить, загружен ли проект в xcode?
- 18. Как определить, загружен ли компонент AxAcroPdf PDF?
- 19. Как определить, загружен ли элемент управления ActiveX?
- 20. Как определить, загружен ли jquery mobile?
- 21. Как узнать, был ли файл загружен через NSFileManager ios
- 22. Загружен ли файл или нет?
- 23. Как определить, когда загружен контент?
- 24. Как файл загружен браузером через HTTP
- 25. Определить, изменился ли файл
- 26. Как проверить, загружен ли большой файл правильно
- 27. Как узнать, загружен ли пользователь файл
- 28. Определить, успешно ли загружен контент iframe
- 29. файл не будет загружен, PHP
- 30. php, как проверить, был ли файл полностью загружен
Загруженный в чем? В какой среде? – wallyk
Duplicate: http://stackoverflow.com/questions/1848803/execute-php-via-cron-no-input-file-specified –