要在 PHP 中調用 Python 腳本,您可以使用 exec()
或 shell_exec()
函數。以下是一個示例:
example.py
的簡單 Python 腳本:# example.py
import sys
def main():
print("Hello from Python!")
input_value = sys.argv[1]
print(f"You entered: {input_value}")
if __name__ == "__main__":
main()
確保 Python 腳本在您的服務器上的可執行路徑中。
exec()
或 shell_exec()
函數調用 Python 腳本:<?php
// 定義要傳遞給 Python 腳本的參數
$input_value = "Hello from PHP!";
// 使用 exec() 函數調用 Python 腳本
// 注意:exec() 函數不會返回 Python 腳本的輸出,但可以通過檢查命令執行的返回狀態來獲取成功或失敗
$output = [];
$return_var = 0;
exec("python example.py " . escapeshellarg($input_value), $output, $return_var);
if ($return_var === 0) {
echo "Python script executed successfully.";
// 輸出 Python 腳本的輸出
foreach ($output as $line) {
echo $line . PHP_EOL;
}
} else {
echo "Python script execution failed.";
}
?>
在這個例子中,我們使用 exec()
函數執行 Python 腳本,并通過傳遞參數 $input_value
給它。請注意,我們使用了 escapeshellarg()
函數來確保參數被正確地轉義,以防止潛在的安全風險。
另外,您也可以使用 shell_exec()
函數,它會返回 Python 腳本的完整輸出:
<?php
// 定義要傳遞給 Python 腳本的參數
$input_value = "Hello from PHP!";
// 使用 shell_exec() 函數調用 Python 腳本
// shell_exec() 會返回 Python 腳本的輸出
$output = shell_exec("python example.py " . escapeshellarg($input_value));
echo "Python script output:" . PHP_EOL;
echo $output;
?>
請確保在運行這些示例之前已經安裝了 Python,并將 Python 腳本放在 PHP 可以找到的位置。