繁体   English   中英

如何在Windows机器上从命令提示符运行PHP程序?

[英]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命令提示符运行相同的程序

为此,我完成了以下步骤:

  • 去了高级系统设置 (控制面板\\系统和安全\\系统\\高级系统设置)
  • 然后单击Environment Variables
  • 然后选择变量Path
  • 然后单击编辑...按钮
  • 然后在现有字符串的结束分号后,我通过在分号后面添加一个空格来添加字符串“C:\\ xampp \\ php”

最后的新字符串如下所示:

%USERPROFILE%\\应用程序数据\\本地\\微软\\ WindowsApps; C:\\ XAMPP \\ PHP

  • 然后点击确定
  • 打开命令提示符
  • 使用cd命令在命令提示符下找到路径C:\\ xampp \\ htdocs \\ html_playground
  • 输入sample.php (包含我的PHP程序的文件)

然后它没有显示程序的输出,而是在Sublime Text中打开了相同的文件(我用来编写代码的编辑器)

sample.php文件包含以下PHP可执行代码

<?php 
   echo 'Hello World!';
?>

作为参考,我还附上了命令提示符窗口的屏幕截图:

命令提示符窗口

现在我的问题是

  • 为什么我无法在命令提示符或Web浏览器中看到输出?
  • 我在做什么错误或什么?
  • 是否有必要像往常一样启动XAMPP服务器,以便在Web浏览器中运行程序,以便从命令提示符执行程序?
  • 我在设置环境变量时是否犯了错误?
  • 是否真的需要设置环境变量? 如果是,为什么? 如果没有原因?
  • 由于PHP应该是适合Web开发的语言,因此我认为在Web开发人员的软件(即Web浏览器)中运行该程序总是好的。 但我不明白为什么人们坚持从命令行运行PHP程序而不是仅从Web浏览器运行相同的程序?

请有人通过回答我的疑问并帮助我从命令提示符运行程序来帮助我。

即使我尝试重新启动PC并运行php -v命令,但它也没有用完。 以下是相同的屏幕截图:

系统重启后命令提示输出

如果您想运行CLI PHP,我强烈建议您安装在windows.php.net上找到的vanilla PHP。 让它安装到C:\\php我推荐这个的原因是,如果你想使用Composer (并且你很想有机会),它会在那里找到它。

现在,您可以打开命令提示符并运行如下脚本

C:\php\php.exe C:\path\to\php\script.php

根据您的具体情况

  1. Why I'm not able to see the output at command prompt or a web browser? 因为输出被发送到命令行。 浏览器请求通过Web服务器发送到浏览器
  2. Is it necessary to start the XAMPP server like I normally do to run the program from command prompt too? 对于CLI请求,没有。 PHP是一个可执行文件,可以自行运行。 如果你想做浏览器请求,那么XAMPP需要运行。
  3. Is there really a need to set environment variables? If yes why? If no why? 并不是的。 CLI只关注php.ini XAMPP配置主要用于Apache。
  4. But I'm not understanding the reason why people do insist for running the PHP programs from Command Line的原因主要原因是自动化任务。 我在cron工作上运行的工作有几个。

Windows 10中可变路径的分步指南


更新:

跳过通过左键单击 Windows开始按钮第4步,然后立即键入system env ,Windows搜索会建议Edit the system environment variables ,点击此图标,并转到步骤4。


  1. 右键单击Windows开始按钮,选择系统

右键单击Windows开始按钮>系统

  1. 单击“ 系统信息”

单击“系统信息”

  1. 单击“ 高级系统设置”

单击“高级系统设置”

  1. 单击Environment Variables

单击Environment Variables

  1. System Variables标题下选择PATH ,然后单击Edit

在“系统变量”下,单击“路径”,然后单击“编辑”

  1. 单击“ 新建” ,键入可执行文件的路径位置

单击新建,将路径位置添加到可执行文件

  1. OK键, 应用在所有应用面板然后重新启动计算机

在此输入图像描述

步骤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.2SHELL窗口运行PHP

在此输入图像描述

在我的测试用例中,我在目录c:\\xampp\\htdocs\\tester使用了一个小文件index.phpindex.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已在使用,你可以使用任何其他端口像808000

在与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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM