assimtech/sysexits

sysexits.h的PHP实现

1.0.1 2016-10-04 22:10 UTC

This package is auto-updated.

Last update: 2024-09-10 14:20:39 UTC


README

sysexits.h的PHP实现

命令行应用程序返回码的标准

用法

作为命名空间类

<?php

// composer autoload or require 'assimtech/sysexits/src/Sysexits.php';

use Assimtech\Sysexits;

// Parse argv or something
if ($badUsage) {
    exit(Sysexits::EX_USAGE);
}

exit(Sysexits::EX_OK);

作为定义

<?php

require_once 'assimtech/sysexits/sysexits.php';

// Parse argv or something
if ($badUsage) {
    exit(EX_USAGE);
}

exit(EX_OK);

代码

根据风格(9),在程序结束时,使用任意值调用exit(3)来表示失败条件并不是一个好的实践。相反,应该使用sysexits中预定义的退出代码,这样调用过程可以大致了解失败类别,而不必查看源代码。

成功的退出总是由状态0或EX_OK表示。错误编号从EX__BASE开始,以减少与随机程序可能已经返回的其他退出状态冲突的可能性。这些代码的含义大致如下

EX_OK (0)

成功终止

EX__BASE (64)

错误消息的基本值

EX_USAGE (64)

命令使用不正确,例如,使用错误的参数数量,错误的标志,参数中的错误语法等。

EX_DATAERR (65)

输入数据以某种方式不正确。这应该仅用于用户数据,而不是系统文件。

EX_NOINPUT (66)

输入文件(非系统文件)不存在或不可读。这可能还包括像“无消息”这样的错误(如果邮件发送器关心捕获它)。

EX_NOUSER (67)

指定的用户不存在。这可能用于电子邮件地址或远程登录。

EX_NOHOST (68)

指定的主机不存在。这用于电子邮件地址或网络请求。

EX_UNAVAILABLE (69)

服务不可用。这可能发生在支持程序或文件不存在的情况下。这也可以用作当您想执行的操作不起作用时,但您不知道原因的通用消息。

EX_SOFTWARE (70)

检测到内部软件错误。这应尽可能限于与操作系统无关的错误。

EX_OSERR (71)

检测到操作系统错误。这旨在用于“无法fork”,“无法创建管道”之类的操作。它包括像getuid从passwd文件返回不存在用户之类的事情。

EX_OSFILE (72)

某些系统文件(例如,/etc/passwd,/var/run/utmp等)不存在,无法打开或存在某种错误(例如,语法错误)。

EX_CANTCREAT (73)

无法创建(用户指定的)输出文件。

EX_IOERR (74)

在对某些文件进行I/O操作时发生错误。

EX_TEMPFAIL (75)

暂时性失败,表示不是真正的错误。在sendmail中,这意味着邮件发送器(例如)无法创建连接,请求应在稍后重试。

EX_PROTOCOL (76)

在协议交换期间,远程系统返回了“不可能”的事情。

EX_NOPERM (77)

您没有足够的权限执行此操作。这并非用于文件系统问题,这些应该使用EX_NOINPUT或EX_CANTCREAT,而是用于更高级别的权限。

EX_CONFIG (78)

在未配置或配置错误的状态下发现了某些内容。

EX__MAX (78)

列出的最大值

许可证

本产品包含加州大学伯克利分校及其贡献者开发的软件。

请参阅 许可协议