Menjalankan PHP dari baris perintah Windows dapat sangat berguna saat mencoba mengembangkan skrip khusus dengan cepat, atau untuk membaca dan memodifikasi file lokal. Dalam contoh, kami akan menggunakan iterator PHP khusus Show KONFIGURASI DASAR1. Pertama, Anda perlu mengunduh versi terbaru PHP dan mengekstraknya ke C. \ direktori
2. Arahkan ke Control Panel > System and Security > System > Advanced system settings. Di panel variabel Sistem klik, temukan dan edit variabel Path dan tambahkan path ke folder PHP yang Anda ekstrak C. \[folder php] Catatan. Gunakan titik koma untuk membatasi antara Variabel Sistem
3. Buka CMD dan masukkan PATH. Pastikan Variabel Sistem PHP Anda telah ditambahkan. (Opsional)
4. Ketik “cd C. \[nama folder]” di CMD untuk masuk ke direktori PHP Anda. Ganti [nama folder] dengan nama unduhan PHP yang Anda ekstrak
5. Ketik "php -v" untuk mengonfirmasi versi sudah benar
6. Masukkan “php c. \[direktori]\[folder]\[fungsi php]. php”. Ganti [fungsi php] dengan file Anda
COBALAHContoh yang diberikan adalah fungsi rekursif yang menelusuri folder dan subfolder direktori file saat ini, menemukan gambar yang memiliki dimensi pada namanya, dan menghapusnya dari direktori 1. Download contoh iterator php dan ekstrak filenya
2. Ulangi langkah 6 di atas, ganti folder dan fungsi dengan “php-orionweb\deleteImageSizePhotos. php”
3. Ada 24 gambar, 15 di antaranya adalah ukuran gambar WordPress yang memuat dimensi gambar pada nama file. Konfirmasikan keluaran skrip memiliki jumlah file
4. Tekan panah atas dan jalankan skrip lagi. Kali ini Anda seharusnya hanya 9 file, yang lainnya telah dihapus
RINGKASANSkrip PHP khusus adalah bagian dari gudang pengembang yang bagus, tetapi terkadang membuat dan mengujinya dapat menyebabkan masalah jika Anda tidak memiliki akses ke web atau sumber daya yang diperlukan. Menjalankan PHP dari baris perintah adalah alat yang hebat untuk pengembangan web lokal yang cepat sehingga Anda dapat membantu membuat kode portabel tanpa lingkungan server Kedua cara (apakah menggunakan -f switch atau tidak) mengeksekusi file my_script. php. Perhatikan bahwa tidak ada batasan file mana yang dapat dieksekusi; Lewati kode PHP untuk mengeksekusi langsung pada baris perintah $ php -r 'print_r(get_defined_constants());' Perhatian khusus harus diberikan sehubungan dengan substitusi variabel shell dan penggunaan tanda kutip
Berikan kode PHP untuk dieksekusi melalui input standar ( Ini memberikan kemampuan yang kuat untuk membuat kode PHP secara dinamis dan mengumpankannya ke biner, seperti yang ditunjukkan dalam contoh (fiksi) ini $ some_application | some_filter | php | sort -u > final_output.txt_ Seperti halnya setiap aplikasi shell, biner PHP menerima sejumlah argumen; . Jumlah argumen yang dapat diteruskan ke skrip Anda tidak dibatasi oleh PHP (dan meskipun shell memiliki batasan jumlah karakter yang dapat diteruskan, hal ini secara umum tidak mungkin terkena). Argumen yang diteruskan ke skrip tersedia di array global $argv. Indeks pertama (nol) selalu berisi nama skrip yang dipanggil dari baris perintah. Perhatikan bahwa, jika kode dieksekusi in-line menggunakan saklar baris perintah -r, nilai $argv[0] akan menjadi $ php -r 'print_r(get_defined_constants());'0 Variabel global kedua, $argc, berisi jumlah elemen dalam array $argv (bukan jumlah argumen yang diteruskan ke skrip) Selama argumen yang akan diteruskan ke skrip tidak dimulai dengan karakter $ php -r 'print_r(get_defined_constants());'1, tidak ada hal khusus yang harus diperhatikan. Meneruskan argumen ke skrip yang dimulai dengan $ php -r 'print_r(get_defined_constants());'1 akan menimbulkan masalah karena penafsir PHP berpikir harus menanganinya sendiri, bahkan sebelum mengeksekusi skrip. Untuk mencegah hal ini, gunakan pemisah daftar argumen $ php -r 'print_r(get_defined_constants());'3. Setelah pemisah ini diuraikan oleh PHP, setiap argumen berikut diteruskan tanpa disentuh ke skrip # This will not execute the given code but will show the PHP usage $ php -r 'var_dump($argv);' -h Usage: php [options] [-f] [args...] [...] # This will pass the '-h' argument to the script and prevent PHP from showing its usage $ php -r 'var_dump($argv);' -- -h array(2) { [0]=> string(1) "-" [1]=> string(2) "-h" }_ Namun, pada sistem Unix ada cara lain menggunakan PHP untuk skrip shell. buat baris pertama skrip dimulai dengan $ php -r 'print_r(get_defined_constants());'4 (atau apa pun jalur ke biner PHP CLI Anda jika berbeda). File lainnya harus berisi kode PHP normal di dalam tag awal dan akhir PHP yang biasa. Setelah atribut eksekusi file diatur dengan tepat (mis. g. chmod +x test), skrip dapat dijalankan seperti skrip shell atau perl lainnya Contoh #1 Jalankan skrip PHP sebagai skrip shell $ php -r 'print_r(get_defined_constants());'5 Dengan asumsi file ini bernama test di direktori saat ini, sekarang dimungkinkan untuk melakukan hal berikut $ chmod +x test $ ./test -h -- foo array(4) { [0]=> string(6) "./test" [1]=> string(2) "-h" [2]=> string(2) "--" [3]=> string(3) "foo" }_ Seperti yang dapat dilihat, dalam hal ini tidak ada perhatian khusus yang perlu diberikan saat meneruskan parameter yang dimulai dengan $ php -r 'print_r(get_defined_constants());'1 Eksekusi PHP dapat digunakan untuk menjalankan skrip PHP yang benar-benar independen dari server web. Pada sistem Unix, baris pertama khusus $ php -r 'print_r(get_defined_constants());'_7 (atau "shebang") harus ditambahkan ke skrip PHP sehingga sistem dapat secara otomatis menentukan program mana yang harus menjalankan skrip. Pada platform Windows, dimungkinkan untuk mengasosiasikan php. exe dengan opsi klik ganda ekstensi .php , atau file batch dapat dibuat untuk menjalankan skrip melalui PHP. Baris pertama shebang khusus untuk Unix tidak membahayakan Windows (karena diformat sebagai komentar PHP), sehingga program lintas platform dapat ditulis dengan menyertakannya. Contoh sederhana penulisan program baris perintah PHP ditunjukkan di bawah iniContoh #2 Skrip dimaksudkan untuk dijalankan dari baris perintah (script. php) $ php -r 'print_r(get_defined_constants());'_9 $ some_application | some_filter | php | sort -u > final_output.txt_0 $ some_application | some_filter | php | sort -u > final_output.txt_1 $ some_application | some_filter | php | sort -u > final_output.txt_2 $ some_application | some_filter | php | sort -u > final_output.txt_3 $ some_application | some_filter | php | sort -u > final_output.txt_4 Skrip di atas menyertakan baris pertama Unix shebang untuk menunjukkan bahwa file ini harus dijalankan oleh PHP. Kami bekerja dengan versi CLI di sini, jadi tidak ada header HTTP yang akan ditampilkan Program pertama-tama memeriksa apakah ada satu argumen yang diperlukan (selain nama skrip, yang juga dihitung). Jika tidak, atau jika argumennya adalah --help, -help, -h atau -?, pesan bantuan akan dicetak, menggunakan $argv[0] untuk secara dinamis mencetak nama skrip seperti yang diketik pada baris perintah. Jika tidak, argumen akan digaungkan persis seperti yang diterima Untuk menjalankan skrip di atas pada Unix, itu harus dibuat dapat dieksekusi, dan disebut hanya sebagai skrip. php echothis atau skrip. php -h. Di Windows, file batch yang mirip dengan berikut ini dapat dibuat untuk tugas ini Contoh #3 File batch untuk menjalankan skrip PHP baris perintah (script. kelelawar) @echo OFF "C:\php\php.exe" script.php %* Anggaplah program di atas bernama script. php, dan CLI php. exe ada di C. \php\php. exe, file batch ini akan menjalankannya, meneruskan semua opsi yang ditambahkan. naskah. bat echothis atau skrip. mandi Lihat juga dokumentasi ekstensi Readline untuk lebih banyak fungsi yang dapat digunakan untuk menyempurnakan aplikasi baris perintah di PHP Di Windows, PHP dapat dikonfigurasi untuk berjalan tanpa perlu memasok C. \php\php. exe atau ekstensi
|