rosell-dk / locate-binaries
通过exec()或类似方式定位二进制文件
1.0
2022-04-20 07:20 UTC
Requires
- php: >=5.6
- rosell-dk/exec-with-fallback: ^1.0.0
- rosell-dk/file-util: ^0.1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.11
- phpstan/phpstan: ^1.5
- phpunit/phpunit: ^9.3
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-09-13 15:43:38 UTC
README
这是一个用于定位二进制文件的小类。你需要启用exec()
、shell_exec()
或类似功能,否则它将抛出异常。
在Linux、Windows和Mac上运行。
用法
定位已安装的cwebp
二进制文件(在Linux上使用which -a
找到,回退到whereis -b
;在Windows上使用where
找到)
use LocateBinaries\LocateBinaries;
$cwebBinariesFound = LocateBinaries::locateInstalledBinaries('cwebp');
请注意,您将获得一组匹配项 - 系统上可能有多个版本的二进制文件。
该库还通过查看常用系统路径(如usr/bin和C:\Windows\System32
)添加了另一种定位二进制文件的方法。但是,请注意,这些目录可能受到open_basedir限制的影响,这可能导致错误日志中的警告条目。因此,其他方法是更好的选择。
已提前警告,这里是替代方案,您在尝试第一个方案后可能会想要回退到它。
$imagickBinariesFound = LocateBinaries::locateInCommonSystemPaths('convert');
安装
使用composer安装
composer require rosell-dk/locate-binaries
注意
该库使用exec-with-fallback库,以便在exec()被禁用时使用exec()的替代方案。
你喜欢我的工作吗?
也许你想支持我的工作,这样我就可以继续做下去:)
谢谢!