.NET中的Process类包含了多个有用的属性和方法,允许开发者访问进程相关信息。PHP中是否有相应的方法或类?
PHP中是否有类似于C#中"Process.Start()"方法的等效方法?
以下代码片段应该与“Process.Start()”相同
$executable = '可执行进程'; exec($executable);
有关进程控制和执行的更多信息,请访问http://php.net/manual/en/book.pcntl.php
1.
参见程序执行函数。
除此之外,PHP标准函数中没有方法/类/属性/命名空间的概念。PHP本质上是一种过程式编程语言,具有少量的面向对象构造和命名空间支持作为新特性添加到最后一个主要版本(5.3)。这也是人们批评它为“玩具”语言的原因之一。您可以随时访问所有PHP内置函数,没有令人讨厌的命名空间妨碍;),只需小心名称冲突即可。
2.
@YSJaitawat 回答正确但参考资料有误。
点击此链接访问exec函数文档。
注意:如果您从C#迁移到PHP并正在寻找信息,则PHP手册包含出乎意料的好信息,包括用户提交的底部评论,人们通常在其中发布用例或扩展到标准用途。由于手册中可以找到的信息非常丰富,因此PHP可能是最易学的语言。
如果你是在Windows上运行程序(正如你的帖子所示),你可以使用COM对象(请注意,它在Linux上根本无法工作,但它确实给了你很多无法实现的功能)。
$com = new COM('WScript.Shell');
$com->run('Path/To/Shell/Program', 0, false);
运行命令在这里详细说明。
switch (connection_status())
{
case CONNECTION_NORMAL:
// ...
break;
case CONNECTION_ABORTED:
// ...
break;
case CONNECTION_TIMEOUT:
// ...
break;
}
POSIX函数(仅在POSIX系统下可用)提供了一些额外的信息。此外,一些杂项函数,特别是sys_getloadavg()
和睡眠函数,可以根据您的需求进行使用。
PHP中是否有类似C#方法“Process.Start()”的等效方法。
有几个程序执行函数,具体如下:
在Windows下,您还可以使用COM类打开命令提示符:
$cmd = new COM('WScript.Shell');
另外,如果你希望免受代码注入攻击,请不要忘记使用 escapeshellarg()
或 escapeshellcmd()
对任何用户提供的输入进行转义。