Linux使用者們經常會遇到php檔案,面對這些php檔案,我們有時會使用命令列執行php檔案進行傳參。不過具體該怎麼操作呢?今天小編就來給大家講解一下Linux系統中通過命令列執行php檔案進行傳參的方法吧。
具體操作步驟:
要做多語言搜尋索引,可是php程式要通過在Linux系統的php命令來執行檔案,這樣php程式檔案中的變數便無法獲取。
所以要進行傳參,但是命令列下執行php,是不走apache等這類東西的,沒有什麼http協議,所有get,post傳參根本不起作用,並且會被報錯,如下:
root@test:/pub/www/# php /pub/www/product/Crondo/?lang=en
Could not open input file: /pub/www/product/Crondo/?lang=en
可以通過在php執行檔案中獲取系統環境變數$argv 來得到要傳遞的引數
測試檔案:
#!/usr/bin/php
《?php
print_r($argv);
echo “”;
echo “Total number of paramter is : “.$argc;
echo “”;
?》
2.命令列呼叫:
test@ubuntu:~/php$ php 111 222 333 444
All param is :
Array
(
[0] =》 //引數0,指令碼本身的檔名
[1] =》 111//引數1
[2] =》 222//引數2
[3] =》 333//引數3
[4] =》 444//引數4
)
Total number of paramter is : 5 //$argc的值為引數的總數
這種傳參方式,跟shell很像
test@ubuntu:~/shell$ sh 111 222
向傳了兩個引數111,222,shell會得到三個引數,$0為檔案本身,$1為引數1,$2為引數2.不同的是,php得到的`是以陣列的形式,而shell不是
以上就是Linux系統中使用命令列執行php檔案進行傳參的方法了,還不會這項操作的使用者快來看看吧,相信看完這篇教程後,會讓你對這個操作更加的瞭解。