2016-01-04 1 views
5

Gibt es eine Möglichkeit, zur Laufzeit festzustellen, ob eine PHP-Datei als Teil eines phar Archivs läuft?Ermitteln, ob PHP-Dateien als Teil eines `phar`-Archivs ausgeführt werden

dh eine native Implementierung so etwas wie dies

function isRunningAsPhar() 
{ 
    $first_include = get_included_files()[0]; 
    return strpos($first_include, '.phar') !== false; 
} 

jedoch aussehen könnte, könnte dies nicht funktionieren, wenn der Benutzer die phar umbenannt hat eine andere Dateierweiterung hat oder Symlink die phar die Dateierweiterung zu entfernen .

Antwort

2

Sie könnten die Funktion verwenden Phar::running(); Das gibt Ihnen einen Pfad für das ausgeführte Phar-Archiv. Wenn der Pfad festgelegt ist, ist es ein Archiv.

https://secure.php.net/manual/en/phar.running.php

Beispiel aus Handbuch:

<?php 
$a = Phar::running(); // $a is "phar:///path/to/my.phar" 
$b = Phar::running(false); // $b is "/path/to/my.phar" 
?> 
Verwandte Themen