首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Windows 命令行運行 PHP 腳本完整指南

     編輯:PHP 相關知識

基礎操作流程

在 Windows 系統中通過命令行(CMD/PowerShell)運行 PHP 腳本,是開發調試、定時任務、CLI 工具開發的必備技能。

步驟詳解

1. 打開命令提示符

  • Win + R → 輸入 cmd → 回車
  • 或右鍵開始菜單選「命令提示符」/「Windows 終端」

2. 進入 PHP 安裝目錄

cd /d E:\wamp\bin\php\php5.2.6

/d 參數允許跨盤符切換目錄。

3. 執行 PHP 腳本並傳參

php.exe a.php 11
  • php.exe:PHP 解釋器
  • a.php:腳本文件名(需在當前目錄或指定完整路徑)
  • 11:命令行參數,腳本中通過 $argv[1] 獲取

4. 腳本中獲取參數

<?php
// a.php
if (isset($argv[1])) {
    $_GET['id'] = $argv[1]; // 兼容原有 $_GET 邏輯
}
$id = $_GET['id'] ?? 0;
echo $id + 1; // 輸出 12
?>

進階配置:添加到系統 PATH 環境變量

操作步驟

  1. 右鍵「此電腦」→「屬性」→「高級系統設置」
  2. 點擊「環境變量」
  3. 在「系統變量」區找到 Path,雙擊編輯
  4. 點擊「新建」,添加 PHP 安裝目錄(如 E:\wamp\bin\php\php5.2.6)
  5. 確定保存所有對話框

效果

新打開的 CMD 窗口中,任意目錄下均可直接運行:

php.exe "D:\projects\script.php" arg1 arg2

注意:文件路徑含空格時需加雙引號。

參數獲取完整說明

<?php
// $argv 數組結構
// $argv[0] = 腳本文件名
// $argv[1] = 第一個參數
// $argv[2] = 第二個參數...
// $argc = 參數總數(含腳本名)

echo "腳本名: $argv[0]\n";
echo "參數數量: " . ($argc - 1) . "\n";
echo "所有參數: " . implode(', ', array_slice($argv, 1)) . "\n";

// 兼容 Web 環境的參數獲取函數
function getCliParam($name, $default = null) {
    global $argv;
    foreach ($argv as $arg) {
        if (strpos($arg, "$name=") === 0) {
            return substr($arg, strlen($name) + 1);
        }
    }
    return $default;
}

// 使用:php script.php --user=admin --action=delete
$user = getCliParam('--user');
$action = getCliParam('--action');
?>

常見問題與解決

問題原因解決方案
提示「php.exe 不是內部命令」PHP 目錄不在 PATH 中添加到環境變量或使用完整路徑
中文參數亂碼CMD 默認編碼為 GBK腳本開頭加 chcp 65001 或使用 PowerShell
腳本無法讀取相對路徑文件工作目錄非腳本目錄使用 __DIR__ 或 chdir(__DIR__)
最大執行時間限制CLI 默認無限制,但可能被 php.ini 設置檢查 max_execution_time,CLI 下建議設 0

現代最佳實踐

1. 使用 Shebang(Linux/macOS/WSL)

#!/usr/bin/env php
<?php
echo "Hello CLI!\n";
?>

賦予執行權限:chmod +x script.php,直接運行 ./script.php。

2. 使用 Composer 管理 CLI 工具

composer require symfony/console

構建專業級命令行應用,支持參數驗證、幫助信息、命令分組等。

3. PHP 內置 Web 服務器(開發調試)

php -S localhost:8000 -t public/

無需 Apache/Nginx 即可快速預覽項目。

總結

掌握 CMD 運行 PHP 腳本,關鍵在於:配置 PATH 環境變量、理解 $argv/$argc 參數機制、處理編碼與路徑問題。現代開發建議結合 Composer 工具鏈構建標準化 CLI 應用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved