$ _SERVER Komut satırı-r seçeneği ile set değil?

2 Cevap php

Ben bir komut satırı php $ _SERVER değişkeni yazdırmaya çalıştığınızda, $ _SERVER ayarlı değil düşünüyor.

$ php -r "print_r($_SERVER);"
Warning: print_r() expects at least 1 parameter, 0 given in Command line code on line 1

Bir dosyada bulunuyor Ancak, komut satırından çalışan Kurmuş

$ cat test.php
<?
print_r($_SERVER);

$ php test.php
Array
(
    [TERM] => xterm
    [SHELL] => /bin/bash
    [SSH_CLIENT] => 192.168.1.101 49319 22
    [SSH_TTY] => /dev/pts/0
...

Neden?

2 Cevap

Siz komut satırında $ karakteri kaçmak gerekir.

php -r "print_r(\$_SERVER);"

Aksi kabuk o (bir şey için ayarladığınız değilsiniz) _SERVER denilen bir kabuk değişkeni olduğunu düşünüyorum ve bu yüzden aslında ne çalıştırmak oldu hata "print_r (almak neden olan, php -r "print_r();" olan) beklediğini en az 1 parametre, 0 "verildi.

official documentation Gönderen

Sen ya $ _SERVER içinde aşağıdaki unsurlardan herhangi bulamıyor olabilir. Komut satırında PHP çalışıyorsa bu, eğer varsa, birkaç mevcut olması (ya da gerçekten bir anlamı var) unutmayın.