Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ,
ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΎΠ½ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ Π°ΡΡ
ΠΈΠ²Π°.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠ΄, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉΡΡ Π² Π°ΡΡ
ΠΈΠ²Π΅:
<?php
$configuration = simplexml_load_string(file_get_contents(
Phar::running(false) . '/config.xml'));
?>
ΠΠ°Π»Π΅Π΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠΎΠ΄, ΠΌΠΎΠ½ΡΠΈΡΡΡΡΠΈΠΉ ΡΠ°ΠΉΠ» Π² Π°ΡΡ
ΠΈΠ²:
<?php
// Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΡΡΡΠΎΠΈΠΌ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ config.xml
// ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ Π½Π° Π΄ΠΈΡΠΊΠ΅
Phar::mount('phar://config.xml', '/home/example/config.xml');
// Π° ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
include '/path/to/archive.phar';
?>
ΠΡΡΠ³ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ - ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΌΠΎΠ½ΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π² Π·Π°Π³Π»ΡΡΠΊΡ (stub) Phar-Π°ΡΡ
ΠΈΠ²Π°.
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ,
Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π΅ Π·Π°Π΄Π°Π½:
<?php
// Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΡΡΡΠΎΠΈΠΌ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ config.xml
// ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ Π½Π° Π΄ΠΈΡΠΊΠ΅
if (defined('EXTERNAL_CONFIG')) {
Phar::mount('config.xml', EXTERNAL_CONFIG);
if (file_exists(__DIR__ . '/extra_config.xml')) {
Phar::mount('extra.xml', __DIR__ . '/extra_config.xml');
}
} else {
Phar::mount('config.xml', 'phar://' . __FILE__ . '/default_config.xml');
Phar::mount('extra.xml', 'phar://' . __FILE__ . '/default_extra.xml');
}
// Π° ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
include 'phar://' . __FILE__ . '/index.php';
__HALT_COMPILER();
?>
... ΠΈ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΎΠ³ΠΎ phar-Π°ΡΡ
ΠΈΠ²Π°:
<?php
define('EXTERNAL_CONFIG', '/home/example/config.xml');
// Π° ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
include '/path/to/archive.phar';
?>