Bagaimanakah saya menghantar pembolehubah kepada skrip PHP yang dilaksanakan daripada baris arahan?

Mary-Kate Olsen
Lepaskan: 2024-11-11 08:41:02
asal
491 orang telah melayarinya

How do I pass variables to a PHP script executed from the command line?

Melalukan Pembolehubah kepada Skrip PHP daripada Baris Perintah

Apabila melaksanakan skrip PHP melalui baris arahan, seperti melalui crontab, ia berguna untuk lulus pembolehubah kepada skrip untuk penyesuaian dan kawalan. Walau bagaimanapun, kaedah tradisional untuk menambahkan parameter pertanyaan pada laluan skrip, seperti php myfile.php?type=daily, mungkin tidak berfungsi.

Array $argv

Untuk pelaksanaan baris arahan, PHP menyediakan tatasusunan $argv, yang mengandungi argumen yang dihantar kepada skrip. Elemen pertama, $argv[0], ialah nama fail skrip. Elemen berikutnya, bermula dari $argv[1], mengandungi argumen tambahan.

Melalui Argumen Melalui $argv

Untuk lulus hujah jenis dalam kes ini, cuma panggil skrip seperti berikut:

php myfile.php daily
Salin selepas log masuk

Dalam skrip PHP, anda boleh mendapatkan semula hujah menggunakan $argv[1]:

$type = $argv[1];
Salin selepas log masuk

Pertimbangan Halaman Web

Jika skrip PHP anda juga digunakan sebagai halaman web, anda perlu membezakan antara baris arahan dan akses web. Satu pendekatan adalah untuk menyemak sama ada STDIN ditakrifkan, yang biasanya menunjukkan pelaksanaan baris arahan:

if (defined('STDIN')) {
  $type = $argv[1];
} else {
  $type = $_GET['type'];
}
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan skrip shell dan Wget untuk mengakses skrip melalui web daripada baris arahan:

#!/bin/sh
wget http://location.to/myfile.php?type=daily
Salin selepas log masuk

Dengan memahami penggunaan $argv dan mempertimbangkan akses web, anda boleh menghantar pembolehubah secara berkesan kepada skrip PHP yang dijalankan dari baris arahan.

Atas ialah kandungan terperinci Bagaimanakah saya menghantar pembolehubah kepada skrip PHP yang dilaksanakan daripada baris arahan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan