2016-01-04 11 views
5

Czy istnieje sposób określenia w czasie wykonywania, czy plik PHP działa jako część archiwum phar?Ustal, czy pliki PHP działają jako część `phar` archiwum

czyli natywna implementacja może wyglądać jak ten

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

Jednak to może nie działać, jeśli użytkownik przemianowany Phar mieć inne rozszerzenie pliku lub dowiązane do Phar usunąć rozszerzenie pliku .

Odpowiedz

2

Można użyć funkcji Phar::running(); Daje to ścieżkę do wykonanego archiwum phara. Jeśli ścieżka jest ustawiona, to jej archiwum.

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

przykład z podręcznika:

<?php 
$a = Phar::running(); // $a is "phar:///path/to/my.phar" 
$b = Phar::running(false); // $b is "/path/to/my.phar" 
?> 
Powiązane problemy