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