phpstorm 不提供运行完成自动播放提示音的内置功能,因其执行模块专注代码流程控制,通知仅限 ide 内部日志;需通过系统命令(如 macos 的 say、linux 的 paplay/aplay、windows 的 powershell)在脚本后添加发声指令实现。

PhpStorm 本身不提供「运行完成自动播放提示音」的内置功能,也没有官方配置项支持脚本执行完毕后播放声音或弹窗通知。这不是遗漏,而是设计取舍——它把这类行为交由操作系统或外部工具处理。
为什么 PhpStorm 没有“运行完成提示音”开关
PhpStorm 的 Run Configuration 和 Execution 模块专注在代码执行流程控制(如启动参数、环境变量、工作目录),不介入系统级 I/O 通知。它的通知机制仅限于 IDE 内部(如右下角状态栏提示、Event Log 记录),且所有“完成”事件都以日志形式落盘,不触发音频设备。
Linux/macOS 下用 shell 命令实现“跑完播个声”
最轻量、最可靠的方式是:把你的 PHP 脚本包装进一行 shell 命令,利用系统原生命令发声。不需要改 PhpStorm 配置,也不依赖插件:
- macOS:在 Run Configuration 的
Before launch或直接替换Script path为:php /path/to/your/script.php && say "Done"
- Linux(pulseaudio):
php /path/to/your/script.php && paplay /usr/share/sounds/freedesktop/stereo/complete.oga
- Linux(alsa):
php /path/to/your/script.php && aplay /usr/share/sounds/alsa/Front_Center.wav
注意路径要真实存在;say 在 macOS 上默认可用,paplay/aplay 需确保对应音频包已安装(如 pulseaudio-utils 或 alsa-utils)。
Windows 下用 PowerShell + Beep 实现简易提示
Windows 自带 [console]::Beep(),但音调单一;更推荐用 PowerShell 调用系统语音:
- 在 Run Configuration 的
Script path中填:powershell -Command "php 'C:\path\to\script.php'; Add-Type -AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak('Finished')" - 如果只需蜂鸣声,简化为:
powershell -Command "php 'C:\path\to\script.php'; [console]::Beep(800,300)"
PowerShell 命令必须用双引号包裹整个字符串,内部单引号包围路径,避免空格和反斜杠解析错误。
真正容易被忽略的是:PhpStorm 的 Terminal 或 Run 窗口输出结束 ≠ 进程真正退出——尤其当脚本里有 pcntl_fork()、后台进程或未关闭的 stream,shell 命令可能提前触发提示。务必确认脚本是同步阻塞执行完毕,否则声音会“抢跑”。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










