Verifique php_sapi_name()
. Se for =='cli'
, você está chamando pela linha de comando.
Quando executo meu script PHP a partir da linha de comando, recebo os seguintes avisos. Presumo que o motivo é que essas variáveis, como SERVER_NAME, não são aplicáveis ao executar sem um navegador.
No meu código, como posso detectar que é executado a partir da linha de comando e pular essas linhas, então eu não tenho que ver esses avisos?
Eu não quero bloquear esses avisos piping para / dev / null, eu prefiro melhorar o código PHP.
david@ubuntu:/var/www/user$ php cron_email.php
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0
PHP Notice: Undefined index: SERVER_NAME in /var/www/user/codestart.php on line 14
PHP Notice: Undefined index: REMOTE_ADDR in /var/www/user/codestart.php on line 97
PHP Notice: Undefined index: REQUEST_URI in /var/www/user/codestart.php on line 99
PHP Notice: Undefined index: HTTP_REFERER in /var/www/user/codestart.php on line 100
PHP Notice: Undefined index: REQUEST_METHOD in /var/www/user/codestart.php on line 101
PHP Notice: Undefined index: HTTP_USER_AGENT in /var/www/user/codestart.php on line 102
Verifique php_sapi_name()
. Se for =='cli'
, você está chamando pela linha de comando.
Você pode verificar por $_SERVER["SHELL"]
ou $_SERVER["TERM"]
. Eles devem existir para o CLI, mas não quando servidos pelo seu servidor.