GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa mengeksekusi kode PHP dari baris perintah?

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" ).


Linux
  1. Cara menginstal perangkat lunak dari baris perintah Linux

  2. Bagaimana cara Mengirim Email dari Baris Perintah?

  3. Bagaimana saya bisa menjalankan fungsi dari skrip di baris perintah?

  1. Bagaimana saya bisa memberikan kata sandi SSH ke SVN di baris perintah?

  2. Bagaimana saya bisa menyalin folder dari baris perintah Linux?

  3. Bagaimana cara mendapatkan URL file Dropbox dari baris perintah?

  1. Bagaimana saya bisa menulis ke dmesg dari baris perintah?

  2. Bagaimana cara mendapatkan alamat IP saya dari baris perintah?

  3. Bagaimana saya bisa membuka file dengan nomor baris yang ditampilkan dari baris perintah di 'vi'?