制作包含 PHP7.4 + Lua 扩展的 Docker镜像

原创
2022/02/21 10:09
阅读数 88

PHP 的 Lua 扩展目前只支持到 PHP 7.4, PHP 8暂时还不支持。 https://www.php.net/manual/zh/intro.lua.php https://github.com/laruence/php-lua 我们将在 PHP 7.4.28 fpm 上安装 Lua 5.4 扩展。

FROM php:7.4.28-fpm

LABEL version="7.4.28-fpm" \
  description="An image to run Laravel 6"

# lua 相关的包必须装,其他看自己情况
RUN apt-get update && apt-get install -y \
  zip unzip cron \
  lua5.4 liblua5.4-0 liblua5.4-dev

# Lua with cjson module
RUN cp /usr/include/lua5.4/*.h /usr/include/ && \
    cp /usr/lib/x86_64-linux-gnu/liblua5.4.a /usr/lib/liblua.a && \
    cp /usr/lib/x86_64-linux-gnu/liblua5.4.so /usr/lib/liblua.so && \
    pecl install lua && \
    echo "extension=lua.so" > /usr/local/etc/php/conf.d/lua.ini
RUN cd ~ && curl -fsSLO https://www.kyne.com.au/~mark/software/download/lua-cjson-2.1.0.tar.gz && \
    tar xzvf lua-cjson-2.1.0.tar.gz && \
    cd lua-cjson-2.1.0 && \
    sed -i "s/LUA_VERSION =       5.1/LUA_VERSION =       5.4/" Makefile && \
    sed -i "s/LUA_MODULE_DIR =    \$(PREFIX)\/share\/lua\/\$(LUA_VERSION)/LUA_MODULE_DIR =    \$(PREFIX)\/share\/lua\$(LUA_VERSION)/" Makefile && \
    make && \
    make install && \
    rm ../lua-cjson-2.1.0.tar.gz

RUN rm -rf /tmp/pear && \
    apt-get clean

WORKDIR /etc/php

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部