Нужен Докер работающий.

Исходники работающего контейнера, для примера тут source code

Так. Запускам докер-композ, переходим в контейнер php-container оказываемся в директории /usr/src/php/ext/hello где лежат исходники нашего свежосозданного расширения.

В текущей директории выполняем следующие команды:

phpize        # используется для подготовки окружения PHP-модуля. 
./configure   # конфигурируем
make          # собираем, нужно убедиться что нет ошибок в консоли
make test     # протестируем, и после отвечам нет на вопрос о посылке
make install  # устанавливаем расширение hello.so в директорию
service apache2 restart # перезапускаем апач

Запускаем контейнер php-container и переходим в http://localhost:8000/ и видим результаты от 2 новых функции нашего модуля hello.

echo hello_test1();
echo hello_test2('это же новое расширение');

можно внутри контейнера проделать

php -i | grep hello # говорящяя что модуль успешно загружен hello support => enabled

P.S. Основным файлом является файл hello.c где определяются эти новые функции. Дальше, что душа пожелает на языке С99.