Как сделать PHP-файл работоспособным только через режим CLI? - PullRequest
11 голосов
/ 03 июня 2009

Доступно для браузера,

но я не хочу, чтобы он выполнялся при просмотре пользователем,

скажем, при просмотре должен выйти,

есть ли способ определить, является ли он в настоящее время режимом командной строки?

Ответы [ 4 ]

2 голосов
/ 19 марта 2014

Вот то, что я использую, уже давно ... (начиная с php 4 iirc)

(PHP_SAPI !== 'cli' || isset($_SERVER['HTTP_USER_AGENT'])) && die('cli only');

для использования в качестве первой строки сценария php.

1 голос
/ 03 июня 2009

Другой трюк, $_SERVER имеет переменные, которые устанавливаются только в режиме CLI.

1 голос
/ 03 июня 2009

Вот хитрость:

Вы можете проверить параметры $ argc / $ argv, которые всегда доступны в режиме CLI.

#!/usr/bin/php
<?php 

ini_set('register_argc_argv', 0);  

if (!isset($argc) || is_null($argc))
{ 
    echo 'Not CLI mode';
} else {
    echo 'CLI mode';
}

register_argc_argv

$ ARGC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...