Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya menghantar pembolehubah kepada skrip PHP yang dilaksanakan daripada baris arahan?

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

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-11 08:41:02497semak imbas

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

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

$type = $argv[1];

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'];
}

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

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!

Kenyataan:
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