Phar::webPhar

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::webPhar — Надсилає запит із браузера у внутрішній файл у phar-архіві

Опис

final public static Phar::webPhar(    ?string $alias = null,    ?string $index = null,    ?string $fileNotFoundScript = null,    array $mimeTypes = [],    ?callable $rewrite = null): void

Phar::webPhar() служить Phar::mapPhar() для веб-архівів phar. Метод аналізує $_SERVER['REQUEST_URI'] і надсилає запит із браузера у внутрішній файл у phar-архіві. Він імітує веб-сервер, надсилає запити до потрібного файлу, відображає правильні заголовки та аналізує файли PHP у міру потреби. В поєднанні з Phar::mungServer() і Phar::interceptFileFuncs(), будь-який веб-додаток можна використовувати без змін із phar-архіву.

Phar::webPhar() повинен викликатись тільки із заглушки (stub) phar-архіву (про те, що таке заглушка і як з ним працювати, читайте тут

Список параметрів

alias

Псевдонім для використання в обгортках phar://

index

Розташування в phar-архіві індексного файлу.

fileNotFoundScript

Розташування скрипта, який відповідає за обробку помилки HTTP 404. Скрипт повинен повертати коректні заголовки для цієї помилки.

mimeTypes

Масив зіставлення розширень файлів типу MIME. Якщо достатньо порівняння за умовчанням, передайте сюди порожній масив. За замовчуванням використовуються такі зіставлення:

Loading...

rewrite

Функція перезапису, якою передається єдиний рядковий параметр і яка повинна також повернути рядок, або false

Якщо ви використовуєте fast-cgi або cgi, то параметром, що передається в цю функцію, буде значення змінної $_SERVER['PATH_INFO']. В іншому випадку буде передаватися значення змінної $_SERVER['REQUEST_URI']

Якщо буде повернутий рядок, то він буде використаний як шлях до файлу всередині архіву. Якщо повернеться false, то webPhar() надішле код помилки HTTP 403.

Значення, що повертаються

Функція не повертає значення після виконання.

Помилки

Викине виняток PharException, якщо неможливо відкрити будь-який файл, або викликати її із заглушки. Якщо у параметрі mimeTypes вказати некоректний MIME-тип, або rewrite буде передана некоректна функція зворотного виклику, то буде викинуто виняток UnexpectedValueException

список змін

ВерсияОпис
8.0.0ПараметрfileNotFoundScriptиrewrite тепер припускають значення null

Приклади

Приклад #1 Приклад використання Phar::webPhar()****

У прикладі нижче створений phar відобразить Hello Worldпри обращении из браузера к/myphar.phar/index.phpили к/myphar.phar, і відобразить вихідний код index.phpsпри обращении к/myphar.phar/index.phps

Loading...

Дивіться також

  • Phar::mungServer() - Визначити список до чотирьох $_SERVER-змінних, які мають бути змінені для запуску
  • Phar::interceptFileFuncs() - Вказує phar перехоплювати fopen, file_get_contents, opendir та всі stat-функції