【问题标题】:PHP proc_open avabilityPHP proc_open 可用性
【发布时间】:2013-01-28 00:52:03
【问题描述】:

我制作了一个 PHP 库,它使用 proc_open 并依赖外部应用程序来处理数据。

现在,我需要创建一个“检查”文件,该文件将分析服务器并返回是否可以使用我的库。

我认为这些步骤就足够了:

  • 检查是否允许 proc_open
  • 检查是否安装了外部应用程序

如何检查是否允许 proc_open?另外,我猜 proc_open 也适用于基于 Windows 的服务器(仅使用 Windows 命令提示符而不是终端)?

【问题讨论】:

  • 也许你需要检查外部应用程序是否是php用户的is_executable()。
  • 你是对的,这也需要检查。

标签: php proc-open


【解决方案1】:

if( function_exists("proc_open")) 将是一个好的开始。然后使用try..catch 块尝试调用简单的proc_open 测试。如果测试通过,则允许proc_open

对于外部应用程序,如果它定义了任何功能,您可以使用function_exists 来检查它是否已安装并运行。

【讨论】:

  • 哦,我认为 function_exist 总是会返回 true,因为 proc_open 是 PHP 的核心函数。如果服务器管理员禁用它,它会返回 false 吗?关于使用function_exists 进行外部应用检查,你的意思是我可以通过proc_open 使用它?我想通过在 linux 上使用type MY_EXTERNAL_APP 来处理这个问题(它允许我检查是否安装了外部应用程序)和 Windows 上的一些类似功能,我会谷歌它,必须有一个。
  • @user2742648 实际上并不总是如此。从服务器到服务器,您可能会遇到此功能根本不存在的情况。
猜你喜欢
  • 2018-01-12
  • 1970-01-01
  • 2012-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-25
相关资源
最近更新 更多