1、打開我們的linux命令行,准備好。
2、找到php的安裝目錄,主要是找到linux環境下,php可執行文件的目錄。如圖所示。筆者的目錄為/opt/lampp/bin/php,將此目錄記下,備用。
3、找到要運行的php文件所在的目錄,隨便寫點php代碼就可以,在此筆者已經准備好。/opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php,將此目錄記下,接下來就要正式開始運行了。
4、打開剛剛第一步打開的linux命令行,輸入/opt/lampp/bin/php /opt/lampp/htdocs/wechat/xjtest-web_browser/pcntl_test.php(即依次輸入剛剛的兩個目錄)注意兩個目錄中間有空格。
5、按下回車,可以看到,php文件已經正確執行了。
㈡ PHP執行linux系統命令
首先先要給大家介紹PHP執行linux系統命令的幾個基本函數 我曾經很長一段時間都分不清下面幾個函數的具體用法區別 system函數 說明 執行外部程序並顯示輸出資料 語法 string system(string mand int [return_var]); 返回值: 字元串 詳細介紹 本函數就像是 C 語中的函數 system() 用來執行指令 並輸出結果 若是 return_var 參數存在 則執行 mand 之後的狀態會填入 return_var 中 同樣值得注意的是若需要處理用戶輸入的資料 而又要防止用戶耍花招破解系統 則可以使用 EscapeShellCmd() 若 PHP 以模塊式的執行 本函數會在每一行輸出後自動更新 Web 伺服器的輸出緩沖暫存區 若需要完整的返回字元串 且不想經過不必要的其它中間的輸出界面 可以使用 PassThru() 實例代碼
< ?php $last_line = system( ls $retval); echo Last line of the output: $last_line; echo <hr />Return value: $retval; ?>exec函數 說明 執行外部程序 語法 string exec(string mand string [array] int [return_var]); 返回值: 字元串 詳細介紹 本函數執行輸入 mand 的外部程序或外部指令 它的返回字元串只是外部程序執行後返回的最後一行 若需要完整的返回字元串 可以使用 PassThru() 這個函數 要是參數 array 存在 mand 會將 array 加到參數中執行 若不欲 array 被處理 可以在執行 exec() 之前呼叫 unset() 若是 return_var 跟 array 二個參數都存在 則執行 mand 之後的狀態會填入 return_var 中 值得注意的是若需要處理使用者輸入的資料 而又要防止使用者耍花招破解系統 則可以使用 EscapeShellCmd() 實例代碼
<?php echo exec( whoami ); ?> <? $fp = popen( "/bin/ls" "r" ); ?> lishixin/Article/program/PHP/201311/21017
㈢ 如何通過PHP執行linux命令
你想問得是php如何執行shell命令把?\x0d\x0a\x0d\x0a可以用system(),exec(),passthru()這三個函數實現\x0d\x0a雖然這三個命令都能執行linux系統的shell命令,但是其實他們是有區別的:\x0d\x0a system() 輸出並返回最後一行shell結果。\x0d\x0a exec() 不輸出結果,返回最後一行shell結果,所有結果可以保存到一個返回的數組裡面。\x0d\x0a passthru() 只調用命令,把命令的運行結果原樣地直接輸出到標准輸出設備上。\x0d\x0a 相同點:都可以獲得命令執行的狀態碼\x0d\x0a例子:system("ls -al");\x0d\x0a【使用之前要在php.ini中把safe_mode關閉】
㈣ 如何用php運行linux命令,並獲取返回信息
你想了解如何利用PHP執行Linux命令並獲取返回信息嗎?可以使用system(), exec(), passthru()這三個函數來實現。雖然這三個函數都能執行Linux系統的shell命令,但它們之間存在一定的區別:
system()會輸出並返回命令的最後一行結果。而exec()則不會直接輸出結果,而是返回命令的最後一行結果,並允許將所有結果保存到一個返回的數組中。passthru()則只調用命令,並將命令的運行結果直接輸出到標准輸出設備上。
它們的共同點在於都可以獲取到命令執行的狀態碼。例如,你可以使用如下代碼執行ls -al命令:
system("ls -al");
請注意,在使用這些函數之前,需要確保在php.ini配置文件中關閉了safe_mode。
這些函數在執行shell命令時提供了不同的輸出和返回方式,可以根據具體需求選擇合適的函數來使用。需要注意的是,在處理外部命令時要確保安全性,避免潛在的安全風險。
執行shell命令時,還需要注意命令的輸入參數和輸出結果的處理。正確地傳遞參數和解析結果對於確保命令的正確執行至關重要。
總之,根據不同的需求和場景,可以靈活選擇system(), exec(), passthru()這三個函數來執行Linux命令並獲取返回信息。正確使用這些函數可以大大提高開發效率和代碼的靈活性。
在使用這些函數時,還需要注意一些安全事項。例如,避免直接拼接用戶輸入作為命令參數,以防止潛在的安全威脅。此外,確保命令的安全性和合法性,避免執行惡意或危險的命令。
總之,合理使用這些函數並注意安全事項,可以有效地利用PHP執行Linux命令並獲取返回信息。這將為開發和系統管理帶來很大的便利。
㈤ Unix/Linux中如何直接執行PHP腳本文件
使用Linux系統搭建完整的PHP環境後,用戶常會遇到執行PHP腳本需要使用php myscript.php的方式,感覺較為繁瑣。實際上,Linux系統支持直接執行PHP腳本文件。具體操作步驟如下:
首先,編寫PHP腳本文件。例如,創建名為test_run.php的文件,內容如下:
Here is some plain text.
Here is the file name:
《?php
echo $argv[0], PHP_EOL;
》
腳本功能簡單,輸出當前腳本文件的名稱。
接著,通過命令執行腳本:
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
保持腳本內容不變:
《?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)」