You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用DeepSpeech代码终端正常但XAMPP服务器返回255错误如何解决

解决方案

Windows环境下XAMPP运行对应脚本返回状态码255,是Apache运行上下文与本地终端环境不一致导致的,可按以下步骤排查修复:

  • 修正subprocess调用写法:subprocess.getstatusoutput()仅支持传入字符串格式的命令,当前传入参数列表会被解析为单个命令名,直接触发找不到命令的错误。建议更换为兼容性更好的subprocess.run()方法,同时补全deepspeech.exe的绝对路径(本地终端可执行是因为当前用户PATH环境变量包含了deepspeech的安装目录,Apache服务默认使用的系统账户没有对应环境变量配置),参考代码如下:
import subprocess
# 替换为本地deepspeech.exe的实际绝对路径,可在终端执行where deepspeech获取路径
deepspeech_path = r"C:\Users\你的用户名\AppData\Local\Programs\Python\Python版本号\Scripts\deepspeech.exe"
cmd_list = [
    deepspeech_path,
    '--model', r'C:\deepspeech\deepspeech-0.6.0-models\output_graph.pb',
    '--lm', r'C:\deepspeech\deepspeech-0.6.0-models\lm.binary',
    '--trie', r'C:\deepspeech\deepspeech-0.6.0-models\trie',
    '--audio', r'C:\deepspeech\audio\8455-210777-0068.wav'
]
# 捕获全量输出方便排查
run_res = subprocess.run(cmd_list, capture_output=True, text=True, encoding='utf-8')
with open("transcribe_text.txt", "a", encoding='utf-8') as f:
    f.write(f"状态码:{run_res.returncode}\n转写结果:{run_res.stdout}\n错误信息:{run_res.stderr}\n")
  • 调整目录与服务权限:
    1. 给C:\deepspeech全目录、Python脚本所在目录、transcribe_text.txt文件,新增Users用户组的读取、执行、写入权限
    2. 也可直接修改Apache服务的运行账户为本地登录的Windows账户:打开系统服务列表→找到XAMPP对应的Apache服务→右键属性→「登录」选项卡→选择「此账户」→填写Windows用户名和密码→重启Apache服务即可和本地终端运行环境保持一致
  • 修正Python调用路径:如果是通过PHP等web层脚本调用Python代码,不要直接写python 脚本名.py,需要补全本地Python解释器的绝对路径,比如C:\Python38\python.exe C:\web\脚本路径\transcribe.py

内容的提问来源于stack exchange,提问作者user3653474

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 04:36:08