Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ML Services
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Functions
  • Сопоставление с другими сервисами Yandex Cloud
    • Обзор
      • Обзор
      • Node.js
      • Python
      • Go
      • PHP
      • Bash
      • Java
      • Kotlin
  • Инструменты
  • Правила тарификации
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Создайте функцию
  • Создайте первую версию функции
  • Подготовьте ZIP-архив с кодом функции
  • Создайте версию функции
  • Вызовите функцию
  • Что дальше
  1. Начало работы
  2. Создание функции
  3. PHP

Создание функции на PHP

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 26 августа 2025 г.
  • Перед началом работы
  • Создайте функцию
  • Создайте первую версию функции
    • Подготовьте ZIP-архив с кодом функции
    • Создайте версию функции
  • Вызовите функцию
  • Что дальше

Создайте и выполните функцию на PHP, которая приветствует пользователя.

Перед началом работыПеред началом работы

Создайте каталог в Yandex Cloud.

Создайте функциюСоздайте функцию

Консоль управления
CLI
API
  1. В консоли управления перейдите в каталог, в котором хотите создать функцию.
  2. Выберите сервис Cloud Functions.
  3. Нажмите кнопку Создать функцию.
  4. Введите имя функции — php-function.
  5. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы создать функцию, выполните команду:

yc serverless function create --name=php-function

Результат:

id: b09bhaokchn9********
folder_id: aoek49ghmknn********
created_at: "2019-06-14T10:03:37.475Z"
name: php-function
log_group_id: eolm8aoq9vcp********
http_invoke_url: https://functions.yandexcloud.net/b09bhaokchn9********
status: ACTIVE

Создать функцию можно с помощью метода API create.

Создайте первую версию функцииСоздайте первую версию функции

Чтобы создать версию функции, вы можете воспользоваться одним из форматов загрузки кода. Для примера будет использован ZIP-архив.

Важно

Файл больше 3,5 МБ необходимо загружать через Object Storage. Подробнее об ограничениях читайте в разделе Квоты и лимиты в Cloud Functions.

Подготовьте ZIP-архив с кодом функцииПодготовьте ZIP-архив с кодом функции

  1. Сохраните следующий код в файл с названием hello.php:

    <?php
    
    function handler () {
        $resp =  'Hello, World!';
        return [
            'statusCode' => 200,
            'body' => json_encode($resp),
        ];
    }
    
    ?>
    
  2. Добавьте файл hello.php в ZIP-архив hello-php.zip.

Создайте версию функцииСоздайте версию функции

Консоль управления
CLI
API
  1. В консоли управления перейдите в каталог, в котором находится функция.
  2. Выберите сервис Cloud Functions.
  3. Выберите функцию php-function.
  4. В разделе Последняя версия нажмите кнопку Создать в редакторе.
  5. Выберите среду выполнения PHP 8.2.
  6. Отключите опцию Добавить файлы с примерами кода и нажмите кнопку Продолжить.
  7. Задайте параметры версии:
    • Способ — ZIP-архив.
    • Файл — прикрепите файл hello-php.zip.
    • Точка входа — hello.handler.
    • Таймаут — 3.
    • Память — 128 МБ.
    • Сервисный аккаунт — Не выбрано.
  8. Нажмите кнопку Сохранить изменения.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы создать версию функции, выполните команду:

yc serverless function version create \
  --function-name=php-function \
  --runtime php82 \
  --entrypoint hello.handler \
  --memory 128m \
  --execution-timeout 3s \
  --source-path ./hello-php.zip

Где:

  • --function-name — имя функции, версию которой вы хотите создать.
  • --runtime — среда выполнения.
  • --entrypoint — точка входа, указывается в формате <имя_файла_с_функцией>.<имя_обработчика>.
  • --memory — объем RAM.
  • --execution-timeout — максимальное время выполнения функции до таймаута.
  • --source-path — ZIP-архив c кодом функции и необходимыми зависимостями.

Результат:

done (1s)
id: d4evvn8obisa********
function_id: d4elpv8pft63********
created_at: "2020-08-01T19:09:19.531Z"
runtime: php82
entrypoint: hello.handler
resources:
    memory: "134217728"
execution_timeout: 3s
image_size: "4096"
status: ACTIVE
tags:
- $latest
log_group_id: ckg3qh8h363p********

Создать версию функции можно с помощью метода API createVersion.

Вызовите функциюВызовите функцию

Примечание

Чтобы любой пользователь мог вызывать функцию, необходимо сделать ее публичной. Подробнее о правах читайте в разделе Управление доступом в Cloud Functions.

Консоль управления
CLI
HTTPS
  1. В консоли управления перейдите в каталог, в котором находится функция.
  2. Выберите сервис Cloud Functions.
  3. Выберите функцию.
  4. Перейдите на вкладку Тестирование.
  5. В поле Тег версии выберите $latest, чтобы вызвать последнюю версию функции.
  6. В поле Шаблон данных выберите Без шаблона.
  7. Нажмите кнопку Запустить тест.
  8. В разделе Результат тестирования, в поле Состояние функции, будет показан статус тестирования. Важно: максимальное время выполнения функции до таймаута (включая начальную инициализацию при первом запуске) — 10 минут.
  9. В поле Ответ функции появится результат выполнения функции.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы вызвать функцию, выполните команду:

yc serverless function invoke <идентификатор_функции>

По умолчанию вызывается версия функции с тегом $latest.

Ссылку для вызова функции можно найти на вкладке Обзор, в поле Ссылка для вызова.

Для обеспечения безопасности функцию можно вызвать только по протоколу HTTPS. Вызовите ее как обычный HTTPS-запрос, вставив ссылку в адресную строку браузера:

https://functions.yandexcloud.net/<идентификатор_функции>

На странице появится ответ:

Hello, World!

Что дальшеЧто дальше

  • Прочитайте, какой должна быть структура функции для вызова разными способами (HTTP, CLI), в разделе Вызов функции в Cloud Functions.
  • Ознакомьтесь с концепциями сервиса.
  • Посмотрите, что можно делать с функциями и версиями в пошаговых инструкциях.

Была ли статья полезна?

Предыдущая
Go
Следующая
Bash
Проект Яндекса
© 2025 ООО «Яндекс.Облако»