有没有办法在运行时确定PHP文件是否作为phar
存档的一部分运行?
即,本机实现可能看起来像这样
function isRunningAsPhar() { $first_include = get_included_files()[0]; return strpos($first_include, '.phar') !== false; }
但是,如果用户已将phar重命名为具有不同的文件扩展名,或者通过符号链接删除文件扩展名,则这可能不起作用.
您可以使用Phar::running();
为您执行的phar存档提供路径的功能。如果设置了路径,则将其归档。
https://secure.php.net/manual/zh/phar.running.php
手册示例: