gpt4 book ai didi

php - 我在哪里可以找到 CreateProcess 错误代码的详细信息?

转载 作者:可可西里 更新时间:2023-11-01 13:29:03 26 4
gpt4 key购买 nike

我在 php 中运行以下内容:

$res = proc_open($cmd, $descriptorspec, $pipes, "C:\\xampp\htdocs\\",null,array('bypass_shell'=>true));

问题是它给出了以下错误:

Warning: proc_open(): CreateProcess failed, error code - 3

我在哪里可以找到错误的含义?

PS:它在 Windows Server 2007.SP2 上。用户是管理员,完全访问。 PHP 是 5.3.1 版本

最佳答案

在 Windows 中,CreateProcess 实际上并不返回错误代码。相反,您使用 GetLastError如果 CreateProcess 失败,要查找更多详细信息,请使用 FormatMessage将 GetLastError 中的错误代码转换为正确的描述。 (GetLastError 的错误代码也可以使用 this list 解码)

查看 proc_open() 的源代码,PHP 实际上在发生故障时为您执行 GetLastError(),并且它记录的错误代码是从 GetLastError() 而不是从 CreateProcess(返回一个BOOL,不太可能是 3 :) )

注意 proc_open 使用它来转储消息:

php_error_docref(NULL TSRMLS_CC, E_WARNING, "CreateProcess failed, error code - %u", dw);

...因此您在 3 之前得到的“-”只是一个连字符,而不是减号。因此,您收到错误代码 3,根据 that list表示“系统找不到指定的路径。”。

关于php - 我在哪里可以找到 CreateProcess 错误代码的详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4990503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com