萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux系統使用命令行執行php文件傳參的步驟

Linux系統使用命令行執行php文件傳參的步驟

  Linux用戶們經常會遇到php文件,面對這些php文件,我們有時會使用命令行執行php文件進行傳參。不過具體該怎麼操作呢?今天小編就來給大家講解一下Linux系統中通過命令行執行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文件進行傳參的方法了,還不會這項操作的用戶快來看看吧,相信看完這篇教程後,會讓你對這個操作更加的了解。

copyright © 萬盛學電腦網 all rights reserved