Jika Anda akan melakukan PHP di baris perintah, saya sarankan Anda menginstal phpsh, shell PHP yang layak. Jauh lebih menyenangkan.
Bagaimanapun, php
perintah menawarkan dua sakelar untuk mengeksekusi kode dari baris perintah :
-r <code> Run PHP <code> without using script tags <?..?>
-R <code> Run PHP <code> for every input line
Anda dapat menggunakan php
sakelar -r seperti:
php -r 'echo function_exists("foo") ? "yes" : "no";'
Perintah PHP di atas seharusnya menghasilkan no
dan pengembalian 0
seperti yang Anda lihat:
>>> php -r 'echo function_exists("foo") ? "yes" : "no";'
no
>>> echo $? # print the return value of the previous command
0
Sakelar lucu lainnya adalah php -a :
-a Run as interactive shell
Ini agak timpang dibandingkan dengan phpsh , tetapi jika Anda tidak ingin menginstal shell interaktif mengagumkan untuk PHP yang dibuat oleh Facebook untuk mendapatkan penyelesaian tab, riwayat, dan sebagainya, maka gunakan -a seperti itu :
>>> php -a
Interactive shell
php > echo function_exists("foo") ? "yes" : "no";
no
php >
Jika tidak berhasil di kotak Anda seperti di kotak sayaes (diuji di Ubuntu dan Arch Linux), maka mungkin penyiapan PHP Anda tidak jelas atau rusak . Jika Anda menjalankan perintah ini:
php -i | grep 'API'
Anda harus lihat:
Server API => Command Line Interface
Jika tidak , ini berarti mungkin perintah lain akan menyediakan CLI SAPI . Coba php-cli; mungkin itu paket atau perintah yang tersedia di OS Anda.
Jika Anda melakukannya lihat bahwa php
Anda perintah menggunakan CLI (command-line interface) SAPI (Server API), lalu jalankan php -h | grep code
untuk mengetahui tombol gila mana - karena ini tidak berubah selama setahun- memungkinkan untuk menjalankan kode dalam versi/penyiapan Anda.
Beberapa contoh lainnya, hanya untuk memastikannya berfungsi di kotak saya:
>>> php -r 'echo function_exists("sg_load") ? "yes" : "no";'
no
>>> php -r 'echo function_exists("print_r") ? "yes" : "no";'
yes
Perhatikan juga bahwa ada kemungkinan ekstensi dimuat di CLI dan bukan di CGI atau Apache SAPI. Kemungkinan beberapa PHP SAPI menggunakan file php.ini yang berbeda , mis., /etc/php/cli/php.ini
vs. /etc/php/cgi/php.ini
vs. /etc/php/apache/php.ini
pada kotak Gentoo Linux. Cari tahu file ini mana yang digunakan dengan php -i | grep ini
.
Menggunakan PHP dari baris perintah
Gunakan "
bukannya '
di Windows saat menggunakan versi CLI dengan -r
:
Benar
php -r "echo 1;"
Salah
php -r 'echo 1;'
PHP Parse error: syntax error, unexpected ''echo' (T_ENCAPSED_AND_WHITESPACE), expecting end of file in Command line code on line 1
Jangan lupa titik koma untuk menutup baris (jika tidak, hasilnya adalah "PHP Parse error:kesalahan sintaks, akhir file yang tidak terduga, mengharapkan ';' atau ',' dalam kode baris perintah pada baris 1" ).