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