由於我們的伺服器都是使用的 Linux 系統,並且都有搭建完整的 PHP 環境,所以有時候我會用 PHP 寫一些執行自動化任務的指令碼,但是每次執行這個 PHP 指令碼都需要使用 php myscript.php 的方式,稍微有點兒??隆F涫擔?強梢災苯又蔥 PHP 指令檔的。
編寫你的指令檔
這裡我們編寫一個名字為 test_run.php 的檔案,檔案的內容如下:
Here is some plain text.
Here is the file name:
<?php
echo $argv[0], PHP_EOL;
?>
指令碼內容很簡單,就是把當前指令檔的名稱列印出來。
然後,我們使用 PHP 命令執行一下這個指令碼:
yuanyu@ymac:phpworkspace $ php test_run.php hello
Here is some plain text.
Here is the file name:
test_run.php
yuanyu@ymac:phpworkspace $
給指令檔增加頭資訊,並且設定許可權
然後,在這個檔案的第一行寫上 php 命令的全路徑,前面是一個 #!:
#!/usr/bin/php
Here is some plain text.
Here is the file name:
<?php
echo $argv[0], PHP_EOL;
?>
然後給這個檔案賦予可執行檔許可權:
yuanyu@ymac:phpworkspace $ chmod u+x ./test_run.php
接下來就可以直接執行這個指令碼了:
yuanyu@ymac:phpworkspace $ ./test_run.php
Here is some plain text.
Here is the file name:
./test_run.php
yuanyu@ymac:phpworkspace $
這種方式在 PHP 官方文檔中也是有說的,請參考:
http://php.net/manual/en/features.commandline.usage.php
文檔中的
“Example #2 Script intended to be run from command line (script.php)”