assimtech / sysexits
sysexits.h的PHP实现
Requires
- php: >=5.3.3
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)
列出的最大值
许可证
本产品包含加州大学伯克利分校及其贡献者开发的软件。
请参阅 许可协议