在Linux系統通過命令列執行php檔案傳參方法

來源:互聯網
上載者:User

要做多語言搜尋索引,可是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不是

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.