Как определить, запущен ли PHP из командной строки
| « Впечатления от Mozilla Firefox 6 | Немного о юзабилити таблиц » |
Авг
16
Как определить, запущен ли PHP из командной строки
Web-программированиеИногда при написании скриптов, предназначенных для выполнения длительных операций, возникает необходимость определить, каким именно способом запущен PHP-интерпретатор: из командной строки или же из Web-сервера. Помочь в этом может функция php_sapi_name(), которая возвращает строку, описывающую SAPI (подсистему сервера), которая использовалась.
...
При запуске из командной строки функция возвращает значение "cli", при запуске в качестве CGI-модуля "cgi" или "fast-cgi", а если как модуль сервера -- то имя этого сервера.Важно отметить, что если из командной строки скрипт запускается не с помощью php, а с помощью php-cgi, то и функция будет возвращать cgi, а так же будут применены ограничения по времени и памяти, заданные в php.ini (memory_limit и max_execution_time).
Пример кода для проверки:
$sapi = php_sapi_name();
if ($sapi=='cli') echo 'Запуск из командной строки';
elseif (substr($sapi,0,3)=='cgi') echo 'Запуск в режиме CGI';
elseif (substr($sapi,0,6)=='apache') echo 'Запуск в режиме модуля Apache';
else echo 'Запуск в режиме модуля сервера '.$sapi;
Трекбек адрес этой записи
URL трекбека (щелкните правой кнопкой мыши и скопируйте ссылку)
if ($argc!=0) {это комм. строка}