Делая недавно свой очередной биллинг для провайдера решил использовать запуск некоторых php скриптов из консоли.
И вот, собственно здесь интересная ситуация возникла, когда из под www всё ок, а с консоли ругается на инклуды.
Немного погуглив, и поразмышляв пришел к выводу, что запуская из под консоли — нужно либо запускать как php-cgi -f phpfile.php, например из под крона, либо же если php -f phpfile.php — то менять пути инклудных файлов.
А что если я использую один и тот же файл phpfile.php и для веба, и для запуска по крону?
Вот, вот — появляется условие, которое выполняется очень простым способом. Используя встроенную функцию php_sapi_name() мы узнаем как запущен наш phpfile.php:
if (php_sapi_name()=='cli') { echo 'Запущено из командной строки, делаем все что нужно нам из консоли'; } esleif { (substr(php_sapi_name(),0,3)=='cgi') { echo 'Запущено в режиме CGI'; } elseif { (substr(php_sapi_name(),0,6)=='apache') echo 'Запущено в режиме модуля Apache'; } else { echo 'Запущено в режиме модуля сервера '.php_sapi_name(); } |
Вот и все дела то..
Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:
Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)
Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455
На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел