[英]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.