[英]How to run a PHP program from command prompt on a Windows Machine?
我是專業的PHP開發人員。
我正在使用在Windows 10 Home Single Language 64位操作系統上運行的Lenovo Ideapad筆記本電腦
我還在位置“C:\\ xampp”安裝了XAMPP控制面板v3.2.2 ,以便在我的機器上的Web瀏覽器中執行PHP程序 。
“php.exe”文件出現在“C:\\ xampp \\ php”位置 。
保存PHP文件的文檔根目錄位於“C:\\ xampp \\ htdocs”位置 。
通過啟動XAMPP軟件(通過雙擊桌面上的XAMPP快捷方式)並輸入程序文件的URL,我可以運行我創建並保存在目錄C:\\ xampp \\ htdocs \\ html_playground中的PHP程序像瀏覽器地址欄中的“ http://localhost/html_playground/sample.php ” 。
這樣我就可以很好地運行PHP程序,但我想從Windows命令提示符運行相同的程序
為此,我完成了以下步驟:
最后的新字符串如下所示:
%USERPROFILE%\\應用程序數據\\本地\\微軟\\ WindowsApps; C:\\ XAMPP \\ PHP
然后它沒有顯示程序的輸出,而是在Sublime Text中打開了相同的文件(我用來編寫代碼的編輯器)
sample.php文件包含以下PHP可執行代碼 :
<?php
echo 'Hello World!';
?>
作為參考,我還附上了命令提示符窗口的屏幕截圖:
現在我的問題是
請有人通過回答我的疑問並幫助我從命令提示符運行程序來幫助我。
即使我嘗試重新啟動PC並運行php -v命令,但它也沒有用完。 以下是相同的屏幕截圖:
如果您想運行CLI PHP,我強烈建議您安裝在windows.php.net上找到的vanilla PHP。 讓它安裝到C:\\php
我推薦這個的原因是,如果你想使用Composer (並且你很想有機會),它會在那里找到它。
現在,您可以打開命令提示符並運行如下腳本
C:\php\php.exe C:\path\to\php\script.php
根據您的具體情況
Why I'm not able to see the output at command prompt or a web browser?
因為輸出被發送到命令行。 瀏覽器請求通過Web服務器發送到瀏覽器 Is it necessary to start the XAMPP server like I normally do to run the program from command prompt too?
對於CLI請求,沒有。 PHP是一個可執行文件,可以自行運行。 如果你想做瀏覽器請求,那么XAMPP需要運行。 Is there really a need to set environment variables? If yes why? If no why?
並不是的。 CLI只關注php.ini
XAMPP配置主要用於Apache。 But I'm not understanding the reason why people do insist for running the PHP programs from Command Line
的原因主要原因是自動化任務。 我在cron工作上運行的工作有幾個。 步驟1:右鍵單擊桌面上的“計算機”圖標,然后選擇“屬性”選項。
步驟2:在“系統”窗口中,單擊左窗格中的“高級系統設置”
步驟3:在System Properties窗口中,從頂部的水平菜單中選擇Advanced選項卡,然后單擊窗口底部給出的Environment Variables按鈕
步驟4:在下一個窗口中調用Environment Variables,轉到System變量(第二個網格)並找到名為Path的變量,然后單擊Edit。 如果Path變量不存在,則單擊“新建”。
如果您正在編輯,則在要添加到單獨變量的路徑之前附加分號。
第5步:獲取已安裝XAMPP的php路徑。 在出現的小對話框中將此路徑添加到變量值。
第6步:按“確定”並關閉所有窗口。
步驟7:使用cmd打開命令提示符。
步驟8: cd到your_install_path / xampp / htdocs
第9步:輸入命令'php -i | 更多'
第10步:沒有第10步。
由於您已經安裝了XAMPP
因此您可以從XAMPP控制面板v3.2.2的SHELL窗口運行PHP
在我的測試用例中,我在目錄c:\\xampp\\htdocs\\tester
使用了一個小文件index.php
, index.php
的內容是:
echo "This is output from command line "."\n";
if(!empty($argv)) {
foreach($argv as $key => $arg) {
if($key>0) {
echo "command line argument ".$key ." ". $arg."\n";
}
}
}
只需在命令行窗口中鍵入以下內容即可。
php C:\xampp\htdocs\tester\index.php var1=1 var2="lorem ipsum..."
產量
您可以使用-S
標志在瀏覽中看到php
代碼輸出:
php -S <host/ip>:<port>
要測試它,請創建一個sample.php
文件,其中包含:
<?php
echo "Hello World from built-in PHP server";
?>
並從命令行運行命令php -S localhost:8080
( 不包括http:// )。
這將使用您作為文檔根目錄的當前目錄啟動偵聽端口8080的Web服務器。
打開瀏覽器並導航到http:// localhost:8080 。 你應該看到你的'Hello World'頁面。
注意:我的假設是你在sample.php
所在的目錄中。 如果萬一port:8080
已在使用,你可以使用任何其他端口像80
, 8000
。
在與php.exe相同的目錄中打開命令提示符,並使用您要處理的文件的參數調用該程序。
C:\\xampp\\php\\php.exe C:\\xamp\\htdocs\\html_playground\\test.php
如果包含test.php; <?php echo "Hello World"; ?>
<?php echo "Hello World"; ?>
然后命令提示符將輸出'Hello World'並返回標准CMD CLI用戶輸入。
你的>php
調用無法工作的原因很可能是由於你的PATH環境變量不包含PHP的正確位置,編輯你的系統變量並添加'C:\\ xampp \\ php \\;' 進入PATH字符串。 這應該允許您調用php C:\\xamp\\htdocs\\html_playground\\test.php
獲取與上面相同的輸出。
簡單,簡短,完美的答案。 嘗試至少一次你會獲得成功:)
打開C:\\ xampp \\ php(或者您的路徑可能會有所不同取決於您安裝它的位置)
現在運行PHP.exe
現在只需遵循這種類型
php -a
然后開始編寫代碼
例如
<?php
echo "Hello, world!";
?>
然后按CTRL + Z,然后按Enter鍵
你好,世界! //輸出
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.