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-функції