php脚本在windows11系统下如何运行

星夢妙者

星夢妙者

2026-07-15

674人浏览

原创

php脚本在windows 11下必须由php.exe解释执行或经web服务器处理,不可双击运行;cli模式用于命令行执行,web sapi模式需通过http://localhost访问,两者配置与php.ini独立。

php脚本在windows11系统下如何运行

PHP 脚本在 Windows 11 下不能像 .exe 或 .bat 那样双击运行,也不能直接拖进浏览器打开——它必须由 php.exe 解释执行,或经由 Web 服务器(如 Apache)处理后输出。关键判断:你想要的是命令行运行(CLI),还是浏览器中访问(Web SAPI),两者路径完全不同。

用命令行直接执行 PHP 脚本(CLI 模式)

这是最轻量、最常用于自动化、调试和本地开发的方式。前提是 php.exe 已加入系统 PATH,且能被识别。

  • 确认 PHP 是否可用:打开 PowerShell 或 CMD,输入 php -v;若提示“不是内部或外部命令”,说明环境变量没配好(需将 PHP 安装目录如 C:\phpC:\xampp\php 加入 PATH
  • 执行脚本:进入脚本所在目录,运行 php your-script.php;也可用绝对路径,如 php C:\projects\test.php
  • 传参支持:脚本内可通过 $argv 获取参数,例如运行 php script.php hello world$argv[1] 就是 hello
  • 注意工作目录:PHP CLI 默认以当前命令行所在路径为 getcwd(),相对路径文件操作(如 include 'config.php')依赖于此,别误设成 Apache 根目录

在浏览器中访问 PHP 文件(Web SAPI 模式)

这是 Web 开发的标准流程,但极易因访问方式错误导致“显示源码”。根本原因:浏览器只负责展示 HTML,不执行 PHP;PHP 必须由 Web 服务器调用解释器生成结果后再返回。

PHP 8.5.5
PHP 8.5.5

PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。

下载
  • ❌ 绝对不要双击 .php 文件,也不要右键 → “在浏览器中打开”——这走的是 file:// 协议,Apache 和 PHP 均未介入
  • ✅ 正确做法:把文件放进 Web 服务器根目录(XAMPP 是 C:\xampp\htdocs\,WAMP 是 C:\wamp64\www\),启动 Apache,然后在浏览器访问 http://localhost/your-script.php
  • 验证是否生效:新建 info.php,内容为 <?php phpinfo(); ?>,访问 http://localhost/info.php 应看到配置页,而非源代码
  • 常见错觉:“我改了文件关联,.php 现在默认用 Chrome 打开”——这毫无意义,file:// 下 Chrome 永远只当它是文本

让 PHP 脚本定时自动运行(Task Scheduler)

Windows 内置任务计划程序是稳定可靠的选择,比写批处理或 PowerShell 包一层更可控。

  • 核心命令行格式:C:\php\php.exe -f "C:\scripts\task.php"-f 参数明确指定文件模式执行
  • 在“任务计划程序”中创建基本任务 → 操作选“启动程序” → “程序或脚本”填 php.exe 全路径,“添加参数”填 -f "C:\scripts\task.php",“起始于”填脚本所在目录(影响 __DIR__ 和相对包含)
  • 务必勾选“不管用户是否登录都要运行”并“只在本地运行”,否则任务可能静默失败;建议启用日志重定向(如加 > C:\logs\task.log 2>&1
  • 测试前先在 CMD 中手动运行一遍完整命令,确认无报错、路径可读、权限足够(尤其涉及数据库连接或文件写入时)

把 PHP 脚本做成 Windows 服务长期运行(NSSM 方式)

适合需要后台持续监听、不依赖用户会话的场景(如简易 API 服务、队列消费者),但复杂度明显上升,别为简单定时任务折腾这个。

  • 必须用管理员权限运行 NSSM GUI(如 nssm install MyService),否则服务无法注册
  • “Path”填 php.exephp-cgi.exe 路径,“Arguments”填脚本路径(如 C:\service\daemon.php),若脚本本身含无限循环(while(true){...sleep(60);}),就不用额外参数
  • “Startup directory”必须设为脚本所在目录,否则 require 'vendor/autoload.php' 这类语句大概率失败
  • 日志配置不可跳过:在 NSSM 的 I/O 页设置 stdoutstderr 输出路径,否则服务崩溃时你连错误都看不到

最容易被忽略的一点:CLI 和 Web 模式使用的是两套独立的 php.ini 配置(CLI 通常读 php.ini,Apache 模块读 php.ini 但受 PHPIniDir 指向控制)。同一段代码在命令行能跑,在浏览器里报 undefined function curl_init(),八成是 Web 模式下 extension=curl 没启用,别急着重装 PHP。

php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

相关文章

Windows激活工具
Windows激活工具

Windows激活工具是正版认证的激活工具,永久激活,一键解决windows许可证即将过期。可激活win7系统、win8.1系统、win10系统、win11系统。下载后先看完视频激活教程,再进行操作,100%激活成功。

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2023.09.01

5431

6

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

3587

5

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

1786

5

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

2023.10.23

2251

4

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

2023.10.23

2782

6

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.03

1999

9

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.09

3028

8

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.13

2290

8

sprintf函数用法详解
sprintf函数用法详解

sprintf函数的用法:1、格式化字符串;2、指定输出宽度和精度;3、返回值。更多关于sprintf函数用法详解的内容,大家可以阅读下面的文章。

2023.11.27

10927

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
墨刀帮助中心
墨刀帮助中心

共0课时 | 0人学习

MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习