Создаём своё расширение для РНР 7 в Docker контейнере
Нужен Докер работающий.
Исходники работающего контейнера, для примера тут 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.